--- /home/fdroid/fdroiddata/tmp/com.google.android.apps.authenticator2_21.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_com.google.android.apps.authenticator2_21.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: res/drawable-xhdpi/btn_dir_prev_pressed_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/btn_dir_next_pressed_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/howitworks_enter_password.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/howitworks_enter_code.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/howitworks_verify_device.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/btn_dir_next_normal_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/btn_dir_next_focused_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/btn_dir_prev_normal_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/btn_dir_next_disabled_focused_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/btn_dir_prev_disabled_focused_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-hdpi/ic_btn_back.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/btn_dir_prev_disabled_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/btn_dir_prev_focused_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/ic_launcher_authenticator.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-xhdpi/btn_dir_next_disabled_holo_dark.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK │┄ ERROR: res/drawable-hdpi/ic_btn_next.png entry referenced by META-INF/MANIFEST.MF not found in the APK │ @@ -1,16 +0,0 @@ │ -Verifies │ -Verified using v1 scheme (JAR signing): true │ -Verified using v2 scheme (APK Signature Scheme v2): false │ -Verified using v3 scheme (APK Signature Scheme v3): false │ -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: d669a0714efa92473d916b5c30cc6355df20a57460cb69c95ebf35af71346fdb │ -Signer #1 certificate SHA-1 digest: 4006e11c6d5eca57e89d4a16652e2ca442a9a6ab │ -Signer #1 certificate MD5 digest: 023433fcb71ea24730b41f075d7f62dc │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: 77010d778bd11705d0b2e124ee83163c201d50db355e2416fc86b429693a5dc4 │ -Signer #1 public key SHA-1 digest: 2876a1042a0a65f348cb96f08609ca5eff467f6d │ -Signer #1 public key MD5 digest: c5ccbe3b1c66b74a06f43a3e24b9bbbd ├── zipinfo -v {} │┄ Differences in extra fields detected; using output from zipinfo -v │ @@ -1,1474 +1,1459 @@ │ There is no zipfile comment. │ │ End-of-central-directory record: │ ------------------------------- │ │ - Zip archive file size: 709849 (00000000000AD4D9h) │ - Actual end-cent-dir record offset: 709827 (00000000000AD4C3h) │ - Expected end-cent-dir record offset: 709827 (00000000000AD4C3h) │ + Zip archive file size: 713295 (00000000000AE24Fh) │ + Actual end-cent-dir record offset: 713273 (00000000000AE239h) │ + Expected end-cent-dir record offset: 713273 (00000000000AE239h) │ (based on the length of the central directory and its expected offset) │ │ This zipfile constitutes the sole disk of a single-part archive; its │ - central directory contains 48 entries. │ - The central directory is 3944 (0000000000000F68h) bytes long, │ + central directory contains 49 entries. │ + The central directory is 4078 (0000000000000FEEh) bytes long, │ and its (expected) offset in bytes from the beginning of the zipfile │ - is 705883 (00000000000AC55Bh). │ + is 709195 (00000000000AD24Bh). │ │ │ Central directory entry #1: │ --------------------------- │ │ - META-INF/MANIFEST.MF │ + AndroidManifest.xml │ │ offset of local header from start of archive: 0 │ (0000000000000000h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 2.0 │ compression method: deflated │ compression sub-type (deflation): normal │ file security status: not encrypted │ extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 12:32:06 │ - 32-bit CRC value (hex): 5ce804b1 │ - compressed size: 1603 bytes │ - uncompressed size: 4127 bytes │ - length of filename: 20 characters │ - length of extra field: 0 bytes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 2a9afe19 │ + compressed size: 1352 bytes │ + uncompressed size: 5784 bytes │ + length of filename: 19 characters │ + length of extra field: 4 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ + The central-directory extra field contains: │ + - A subfield with ID 0xcafe (unknown) and 0 data bytes. │ + │ There is no file comment. │ │ Central directory entry #2: │ --------------------------- │ │ There are an extra 16 bytes preceding this file. │ │ - META-INF/5CD2035A.SF │ + res/drawable-hdpi-v4/ic_btn_back.png │ │ - offset of local header from start of archive: 1669 │ - (0000000000000685h) bytes │ + offset of local header from start of archive: 1421 │ + (000000000000058Dh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 12:32:06 │ - 32-bit CRC value (hex): ea1066e7 │ - compressed size: 1666 bytes │ - uncompressed size: 4248 bytes │ - length of filename: 20 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 006bad18 │ + compressed size: 1280 bytes │ + uncompressed size: 1280 bytes │ + length of filename: 36 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #3: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ + res/drawable-hdpi-v4/ic_btn_next.png │ │ - META-INF/5CD2035A.RSA │ - │ - offset of local header from start of archive: 3401 │ - (0000000000000D49h) bytes │ + offset of local header from start of archive: 2767 │ + (0000000000000ACFh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 12:32:06 │ - 32-bit CRC value (hex): a0f9faf2 │ - compressed size: 1040 bytes │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 6fb8b58d │ + compressed size: 1297 bytes │ uncompressed size: 1297 bytes │ - length of filename: 21 characters │ + length of filename: 36 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #4: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/drawable/btn_dir_next_holo_dark.xml │ + res/drawable-ldpi-v11/ic_stat_notify_bt.png │ │ - offset of local header from start of archive: 4508 │ - (000000000000119Ch) bytes │ + offset of local header from start of archive: 4130 │ + (0000000000001022h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 9f76c314 │ - compressed size: 319 bytes │ - uncompressed size: 948 bytes │ - length of filename: 39 characters │ - length of extra field: 4 bytes │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 90d01452 │ + compressed size: 311 bytes │ + uncompressed size: 311 bytes │ + length of filename: 43 characters │ + length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ - The central-directory extra field contains: │ - - A subfield with ID 0xcafe (unknown) and 0 data bytes. │ - │ There is no file comment. │ │ Central directory entry #5: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/drawable/btn_dir_prev_holo_dark.xml │ + res/drawable-mdpi-v11/refresh.png │ │ - offset of local header from start of archive: 4916 │ - (0000000000001334h) bytes │ + offset of local header from start of archive: 4514 │ + (00000000000011A2h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): c1a7fe75 │ - compressed size: 320 bytes │ - uncompressed size: 948 bytes │ - length of filename: 39 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 1cea5a87 │ + compressed size: 603 bytes │ + uncompressed size: 603 bytes │ + length of filename: 33 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #6: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/drawable/refresh.png │ + res/drawable-mdpi-v11/refresh_pressed.png │ │ - offset of local header from start of archive: 5321 │ - (00000000000014C9h) bytes │ + offset of local header from start of archive: 5180 │ + (000000000000143Ch) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 1.0 │ compression method: none (stored) │ file security status: not encrypted │ extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): ae0628fe │ - compressed size: 604 bytes │ - uncompressed size: 604 bytes │ - length of filename: 24 characters │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 369b9a60 │ + compressed size: 603 bytes │ + uncompressed size: 603 bytes │ + length of filename: 41 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #7: │ --------------------------- │ │ - There are an extra 1 bytes preceding this file. │ - │ - res/drawable/refresh_button.xml │ + res/drawable-mdpi-v14/refresh.png │ │ - offset of local header from start of archive: 5980 │ - (000000000000175Ch) bytes │ + offset of local header from start of archive: 5854 │ + (00000000000016DEh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 8ee05a1e │ - compressed size: 297 bytes │ - uncompressed size: 740 bytes │ - length of filename: 31 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 7a43d5e5 │ + compressed size: 603 bytes │ + uncompressed size: 603 bytes │ + length of filename: 33 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #8: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/drawable/refresh_disabled.png │ + res/drawable-xhdpi-v4/btn_dir_next_disabled_focused_holo_dark.9.png │ │ - offset of local header from start of archive: 6354 │ - (00000000000018D2h) bytes │ + offset of local header from start of archive: 6520 │ + (0000000000001978h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 1.0 │ compression method: none (stored) │ file security status: not encrypted │ extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): be4b65a5 │ - compressed size: 613 bytes │ - uncompressed size: 613 bytes │ - length of filename: 33 characters │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 8855132b │ + compressed size: 3155 bytes │ + uncompressed size: 3155 bytes │ + length of filename: 67 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #9: │ --------------------------- │ │ - There are an extra 3 bytes preceding this file. │ - │ - res/drawable/refresh_pressed.png │ + res/drawable-xhdpi-v4/btn_dir_next_disabled_holo_dark.9.png │ │ - offset of local header from start of archive: 7033 │ - (0000000000001B79h) bytes │ + offset of local header from start of archive: 9772 │ + (000000000000262Ch) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 1.0 │ compression method: none (stored) │ file security status: not encrypted │ extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): e8f1fe78 │ - compressed size: 610 bytes │ - uncompressed size: 610 bytes │ - length of filename: 32 characters │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 938af14b │ + compressed size: 2323 bytes │ + uncompressed size: 2323 bytes │ + length of filename: 59 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #10: │ --------------------------- │ │ - There are an extra 1 bytes preceding this file. │ - │ - res/layout/add_other_account.xml │ + res/drawable-xhdpi-v4/btn_dir_next_focused_holo_dark.9.png │ │ - offset of local header from start of archive: 7706 │ - (0000000000001E1Ah) bytes │ + offset of local header from start of archive: 12184 │ + (0000000000002F98h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): e8ad29a7 │ - compressed size: 396 bytes │ - uncompressed size: 1148 bytes │ - length of filename: 32 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 6fc20390 │ + compressed size: 2938 bytes │ + uncompressed size: 2938 bytes │ + length of filename: 58 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #11: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/layout/check_code.xml │ + res/drawable-xhdpi-v4/btn_dir_next_normal_holo_dark.9.png │ │ - offset of local header from start of archive: 8180 │ - (0000000000001FF4h) bytes │ + offset of local header from start of archive: 15210 │ + (0000000000003B6Ah) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 9f58feb4 │ - compressed size: 778 bytes │ - uncompressed size: 2660 bytes │ - length of filename: 25 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): dcba7d6a │ + compressed size: 2110 bytes │ + uncompressed size: 2110 bytes │ + length of filename: 57 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #12: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/layout/enter_key.xml │ + res/drawable-xhdpi-v4/btn_dir_next_pressed_holo_dark.9.png │ │ - offset of local header from start of archive: 9029 │ - (0000000000002345h) bytes │ + offset of local header from start of archive: 17407 │ + (00000000000043FFh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 805634b4 │ - compressed size: 552 bytes │ - uncompressed size: 1660 bytes │ - length of filename: 24 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 50bef3ef │ + compressed size: 2859 bytes │ + uncompressed size: 2859 bytes │ + length of filename: 58 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #13: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ + res/drawable-xhdpi-v4/btn_dir_prev_disabled_focused_holo_dark.9.png │ │ - res/layout/howitworks_enter_code.xml │ - │ - offset of local header from start of archive: 9651 │ - (00000000000025B3h) bytes │ + offset of local header from start of archive: 20354 │ + (0000000000004F82h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 1cdf7428 │ - compressed size: 528 bytes │ - uncompressed size: 1384 bytes │ - length of filename: 36 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 83222487 │ + compressed size: 3068 bytes │ + uncompressed size: 3068 bytes │ + length of filename: 67 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #14: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/layout/howitworks_enter_password.xml │ + res/drawable-xhdpi-v4/btn_dir_prev_disabled_holo_dark.9.png │ │ - offset of local header from start of archive: 10261 │ - (0000000000002815h) bytes │ + offset of local header from start of archive: 23519 │ + (0000000000005BDFh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): d696a9c7 │ - compressed size: 529 bytes │ - uncompressed size: 1384 bytes │ - length of filename: 40 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 7ef9fa7e │ + compressed size: 2235 bytes │ + uncompressed size: 2235 bytes │ + length of filename: 59 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #15: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/layout/howitworks_verify_device.xml │ + res/drawable-xhdpi-v4/btn_dir_prev_focused_holo_dark.9.png │ │ - offset of local header from start of archive: 10876 │ - (0000000000002A7Ch) bytes │ + offset of local header from start of archive: 25843 │ + (00000000000064F3h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 7dd7d59e │ - compressed size: 527 bytes │ - uncompressed size: 1384 bytes │ - length of filename: 39 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 3136d133 │ + compressed size: 2757 bytes │ + uncompressed size: 2757 bytes │ + length of filename: 58 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #16: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/layout/main.xml │ + res/drawable-xhdpi-v4/btn_dir_prev_normal_holo_dark.9.png │ │ - offset of local header from start of archive: 11488 │ - (0000000000002CE0h) bytes │ + offset of local header from start of archive: 28688 │ + (0000000000007010h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): b614bb6d │ - compressed size: 702 bytes │ - uncompressed size: 2576 bytes │ - length of filename: 19 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 875c5fee │ + compressed size: 1994 bytes │ + uncompressed size: 1994 bytes │ + length of filename: 57 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #17: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/layout/remove_account_prompt.xml │ + res/drawable-xhdpi-v4/btn_dir_prev_pressed_holo_dark.9.png │ │ - offset of local header from start of archive: 12255 │ - (0000000000002FDFh) bytes │ + offset of local header from start of archive: 30769 │ + (0000000000007831h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): d60bdf26 │ - compressed size: 240 bytes │ - uncompressed size: 496 bytes │ - length of filename: 36 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 140b06fe │ + compressed size: 2711 bytes │ + uncompressed size: 2711 bytes │ + length of filename: 58 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #18: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/layout/rename.xml │ + res/drawable-xhdpi-v4/howitworks_enter_code.png │ │ - offset of local header from start of archive: 12577 │ - (0000000000003121h) bytes │ + offset of local header from start of archive: 33568 │ + (0000000000008320h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 4bc0599b │ - compressed size: 287 bytes │ - uncompressed size: 652 bytes │ - length of filename: 21 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): e9bf7a6b │ + compressed size: 42865 bytes │ + uncompressed size: 42865 bytes │ + length of filename: 47 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #19: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/layout/timesync_about.xml │ + res/drawable-xhdpi-v4/howitworks_enter_password.png │ │ - offset of local header from start of archive: 12931 │ - (0000000000003283h) bytes │ + offset of local header from start of archive: 76510 │ + (0000000000012ADEh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): c58befe5 │ - compressed size: 419 bytes │ - uncompressed size: 1096 bytes │ - length of filename: 29 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 533f61f9 │ + compressed size: 37951 bytes │ + uncompressed size: 37951 bytes │ + length of filename: 51 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #20: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/layout/user_row.xml │ + res/drawable-xhdpi-v4/howitworks_verify_device.png │ │ - offset of local header from start of archive: 13425 │ - (0000000000003471h) bytes │ + offset of local header from start of archive: 114542 │ + (000000000001BF6Eh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): da96f090 │ - compressed size: 785 bytes │ - uncompressed size: 2668 bytes │ - length of filename: 23 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 2b9b64b9 │ + compressed size: 7960 bytes │ + uncompressed size: 7960 bytes │ + length of filename: 50 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #21: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ + res/drawable-xhdpi-v4/ic_launcher_authenticator.png │ │ - res/layout/wizard_page.xml │ - │ - offset of local header from start of archive: 14279 │ - (00000000000037C7h) bytes │ + offset of local header from start of archive: 122582 │ + (000000000001DED6h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): b6f49ec7 │ - compressed size: 890 bytes │ - uncompressed size: 3336 bytes │ - length of filename: 26 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 98285bc3 │ + compressed size: 12598 bytes │ + uncompressed size: 12598 bytes │ + length of filename: 51 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #22: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/menu/main.xml │ + res/drawable/btn_dir_next_holo_dark.xml │ │ - offset of local header from start of archive: 15241 │ - (0000000000003B89h) bytes │ + offset of local header from start of archive: 135261 │ + (000000000002105Dh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 2.0 │ compression method: deflated │ compression sub-type (deflation): normal │ file security status: not encrypted │ extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 56b3ab38 │ - compressed size: 304 bytes │ - uncompressed size: 824 bytes │ - length of filename: 17 characters │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 9f76c314 │ + compressed size: 321 bytes │ + uncompressed size: 948 bytes │ + length of filename: 39 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #23: │ --------------------------- │ │ There are an extra 16 bytes preceding this file. │ │ - res/xml/preferences.xml │ + res/drawable/btn_dir_prev_holo_dark.xml │ │ - offset of local header from start of archive: 15608 │ - (0000000000003CF8h) bytes │ + offset of local header from start of archive: 135667 │ + (00000000000211F3h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 2.0 │ compression method: deflated │ compression sub-type (deflation): normal │ file security status: not encrypted │ extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): c7c19052 │ - compressed size: 489 bytes │ - uncompressed size: 1380 bytes │ - length of filename: 23 characters │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): c1a7fe75 │ + compressed size: 321 bytes │ + uncompressed size: 948 bytes │ + length of filename: 39 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #24: │ --------------------------- │ │ There are an extra 16 bytes preceding this file. │ │ - res/xml/preferences_about.xml │ + res/drawable/refresh.png │ │ - offset of local header from start of archive: 16166 │ - (0000000000003F26h) bytes │ + offset of local header from start of archive: 136073 │ + (0000000000021389h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): fecef701 │ - compressed size: 501 bytes │ - uncompressed size: 1460 bytes │ - length of filename: 29 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 8cb847b1 │ + compressed size: 603 bytes │ + uncompressed size: 603 bytes │ + length of filename: 24 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #25: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - res/xml/preferences_time_correction.xml │ + res/drawable/refresh_button.xml │ │ - offset of local header from start of archive: 16742 │ - (0000000000004166h) bytes │ + offset of local header from start of archive: 136730 │ + (000000000002161Ah) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 2.0 │ compression method: deflated │ compression sub-type (deflation): normal │ file security status: not encrypted │ extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): cd22b4f8 │ - compressed size: 455 bytes │ - uncompressed size: 1304 bytes │ - length of filename: 39 characters │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 8ee05a1e │ + compressed size: 297 bytes │ + uncompressed size: 740 bytes │ + length of filename: 31 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #26: │ --------------------------- │ │ There are an extra 16 bytes preceding this file. │ │ - AndroidManifest.xml │ + res/drawable/refresh_disabled.png │ │ - offset of local header from start of archive: 17282 │ - (0000000000004382h) bytes │ + offset of local header from start of archive: 137104 │ + (0000000000021790h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 2.0 │ + version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 2.0 │ - compression method: deflated │ - compression sub-type (deflation): normal │ + minimum software version required to extract: 1.0 │ + compression method: none (stored) │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 23941a81 │ - compressed size: 1284 bytes │ - uncompressed size: 5584 bytes │ - length of filename: 19 characters │ + extended local header: no │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 2af2931e │ + compressed size: 600 bytes │ + uncompressed size: 600 bytes │ + length of filename: 33 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #27: │ --------------------------- │ │ - There are an extra 16 bytes preceding this file. │ - │ - resources.arsc │ + res/drawable/refresh_pressed.png │ │ - offset of local header from start of archive: 18631 │ - (00000000000048C7h) bytes │ + offset of local header from start of archive: 137767 │ + (0000000000021A27h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 1.0 │ compression method: none (stored) │ file security status: not encrypted │ extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): f4a2391f │ - compressed size: 502072 bytes │ - uncompressed size: 502072 bytes │ - length of filename: 14 characters │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): 368572a0 │ + compressed size: 601 bytes │ + uncompressed size: 601 bytes │ + length of filename: 32 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #28: │ --------------------------- │ │ - There are an extra 1 bytes preceding this file. │ - │ - res/drawable-hdpi/ic_btn_back.png │ + res/layout-v11/remove_account_prompt.xml │ │ - offset of local header from start of archive: 520748 │ - (000000000007F22Ch) bytes │ + offset of local header from start of archive: 138430 │ + (0000000000021CBEh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): b6ef7a6a │ - compressed size: 1280 bytes │ - uncompressed size: 1280 bytes │ - length of filename: 33 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): d60bdf26 │ + compressed size: 240 bytes │ + uncompressed size: 496 bytes │ + length of filename: 40 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #29: │ --------------------------- │ │ - There are an extra 1 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-hdpi/ic_btn_next.png │ + res/layout/add_other_account.xml │ │ - offset of local header from start of archive: 522092 │ - (000000000007F76Ch) bytes │ + offset of local header from start of archive: 138756 │ + (0000000000021E04h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): bb22d800 │ - compressed size: 1301 bytes │ - uncompressed size: 1301 bytes │ - length of filename: 33 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): e8ad29a7 │ + compressed size: 396 bytes │ + uncompressed size: 1148 bytes │ + length of filename: 32 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #30: │ --------------------------- │ │ - There are an extra 1 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-ldpi-v11/ic_stat_notify_bt.png │ + res/layout/check_code.xml │ │ - offset of local header from start of archive: 523457 │ - (000000000007FCC1h) bytes │ + offset of local header from start of archive: 139230 │ + (0000000000021FDEh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): 90d01452 │ - compressed size: 311 bytes │ - uncompressed size: 311 bytes │ - length of filename: 43 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 9f58feb4 │ + compressed size: 774 bytes │ + uncompressed size: 2660 bytes │ + length of filename: 25 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #31: │ --------------------------- │ │ - There are an extra 2 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-mdpi-v11/refresh.png │ + res/layout/enter_key.xml │ │ - offset of local header from start of archive: 523843 │ - (000000000007FE43h) bytes │ + offset of local header from start of archive: 140075 │ + (000000000002232Bh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): f3ada1b7 │ - compressed size: 604 bytes │ - uncompressed size: 604 bytes │ - length of filename: 33 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 805634b4 │ + compressed size: 551 bytes │ + uncompressed size: 1660 bytes │ + length of filename: 24 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #32: │ --------------------------- │ │ - There are an extra 2 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-mdpi-v11/refresh_pressed.png │ + res/layout/howitworks_enter_code.xml │ │ - offset of local header from start of archive: 524512 │ - (00000000000800E0h) bytes │ + offset of local header from start of archive: 140696 │ + (0000000000022598h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): a191caf0 │ - compressed size: 604 bytes │ - uncompressed size: 604 bytes │ - length of filename: 41 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 1cdf7428 │ + compressed size: 527 bytes │ + uncompressed size: 1384 bytes │ + length of filename: 36 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #33: │ --------------------------- │ │ - There are an extra 1 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-mdpi-v14/refresh.png │ + res/layout/howitworks_enter_password.xml │ │ - offset of local header from start of archive: 525188 │ - (0000000000080384h) bytes │ + offset of local header from start of archive: 141305 │ + (00000000000227F9h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): 6c408ff4 │ - compressed size: 604 bytes │ - uncompressed size: 604 bytes │ - length of filename: 33 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): d696a9c7 │ + compressed size: 528 bytes │ + uncompressed size: 1384 bytes │ + length of filename: 40 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #34: │ --------------------------- │ │ - There are an extra 1 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/btn_dir_next_disabled_focused_holo_dark.9.png │ + res/layout/howitworks_verify_device.xml │ │ - offset of local header from start of archive: 525856 │ - (0000000000080620h) bytes │ + offset of local header from start of archive: 141919 │ + (0000000000022A5Fh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): f19a8d39 │ - compressed size: 3155 bytes │ - uncompressed size: 3155 bytes │ - length of filename: 64 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 7dd7d59e │ + compressed size: 526 bytes │ + uncompressed size: 1384 bytes │ + length of filename: 39 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #35: │ --------------------------- │ │ - There are an extra 2 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/btn_dir_next_disabled_holo_dark.9.png │ + res/layout/main.xml │ │ - offset of local header from start of archive: 529107 │ - (00000000000812D3h) bytes │ + offset of local header from start of archive: 142530 │ + (0000000000022CC2h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): 04afbb10 │ - compressed size: 2287 bytes │ - uncompressed size: 2287 bytes │ - length of filename: 56 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): b614bb6d │ + compressed size: 705 bytes │ + uncompressed size: 2576 bytes │ + length of filename: 19 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #36: │ --------------------------- │ │ - There are an extra 3 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/btn_dir_next_focused_holo_dark.9.png │ + res/layout/remove_account_prompt.xml │ │ - offset of local header from start of archive: 531483 │ - (0000000000081C1Bh) bytes │ + offset of local header from start of archive: 143300 │ + (0000000000022FC4h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): 59c3f5c6 │ - compressed size: 2902 bytes │ - uncompressed size: 2902 bytes │ - length of filename: 55 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 381d5681 │ + compressed size: 225 bytes │ + uncompressed size: 448 bytes │ + length of filename: 36 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #37: │ --------------------------- │ │ - res/drawable-xhdpi/btn_dir_next_normal_holo_dark.9.png │ + There are an extra 16 bytes preceding this file. │ + │ + res/layout/rename.xml │ │ - offset of local header from start of archive: 534470 │ - (00000000000827C6h) bytes │ + offset of local header from start of archive: 143607 │ + (00000000000230F7h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): ffef1583 │ - compressed size: 2076 bytes │ - uncompressed size: 2076 bytes │ - length of filename: 54 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 4bc0599b │ + compressed size: 287 bytes │ + uncompressed size: 652 bytes │ + length of filename: 21 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #38: │ --------------------------- │ │ - There are an extra 2 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/btn_dir_next_pressed_holo_dark.9.png │ + res/layout/timesync_about.xml │ │ - offset of local header from start of archive: 536632 │ - (0000000000083038h) bytes │ + offset of local header from start of archive: 143961 │ + (0000000000023259h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): e2db8b45 │ - compressed size: 2823 bytes │ - uncompressed size: 2823 bytes │ - length of filename: 55 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): c58befe5 │ + compressed size: 419 bytes │ + uncompressed size: 1096 bytes │ + length of filename: 29 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #39: │ --------------------------- │ │ - There are an extra 3 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/btn_dir_prev_disabled_focused_holo_dark.9.png │ + res/layout/user_row.xml │ │ - offset of local header from start of archive: 539543 │ - (0000000000083B97h) bytes │ + offset of local header from start of archive: 144455 │ + (0000000000023447h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): 40d72fb2 │ - compressed size: 3061 bytes │ - uncompressed size: 3061 bytes │ - length of filename: 64 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): da96f090 │ + compressed size: 780 bytes │ + uncompressed size: 2668 bytes │ + length of filename: 23 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #40: │ --------------------------- │ │ - There are an extra 3 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/btn_dir_prev_disabled_holo_dark.9.png │ + res/layout/wizard_page.xml │ │ - offset of local header from start of archive: 542701 │ - (00000000000847EDh) bytes │ + offset of local header from start of archive: 145304 │ + (0000000000023798h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): c8194f6d │ - compressed size: 2199 bytes │ - uncompressed size: 2199 bytes │ - length of filename: 56 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): b6f49ec7 │ + compressed size: 886 bytes │ + uncompressed size: 3336 bytes │ + length of filename: 26 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #41: │ --------------------------- │ │ - There are an extra 1 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/btn_dir_prev_focused_holo_dark.9.png │ + res/menu/main.xml │ │ - offset of local header from start of archive: 544987 │ - (00000000000850DBh) bytes │ + offset of local header from start of archive: 146262 │ + (0000000000023B56h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): b41d6ba9 │ - compressed size: 2721 bytes │ - uncompressed size: 2721 bytes │ - length of filename: 55 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 56b3ab38 │ + compressed size: 304 bytes │ + uncompressed size: 824 bytes │ + length of filename: 17 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #42: │ --------------------------- │ │ - res/drawable-xhdpi/btn_dir_prev_normal_holo_dark.9.png │ + There are an extra 16 bytes preceding this file. │ + │ + res/xml/preferences.xml │ │ - offset of local header from start of archive: 547793 │ - (0000000000085BD1h) bytes │ + offset of local header from start of archive: 146629 │ + (0000000000023CC5h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): f83eff52 │ - compressed size: 1945 bytes │ - uncompressed size: 1945 bytes │ - length of filename: 54 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): c7c19052 │ + compressed size: 489 bytes │ + uncompressed size: 1380 bytes │ + length of filename: 23 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #43: │ --------------------------- │ │ - There are an extra 3 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/btn_dir_prev_pressed_holo_dark.9.png │ + res/xml/preferences_about.xml │ │ - offset of local header from start of archive: 549825 │ - (00000000000863C1h) bytes │ + offset of local header from start of archive: 147187 │ + (0000000000023EF3h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): cd4545f4 │ - compressed size: 2675 bytes │ - uncompressed size: 2675 bytes │ - length of filename: 55 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): fecef701 │ + compressed size: 501 bytes │ + uncompressed size: 1460 bytes │ + length of filename: 29 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #44: │ --------------------------- │ │ - There are an extra 2 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/howitworks_enter_code.png │ + res/xml/preferences_time_correction.xml │ │ - offset of local header from start of archive: 552587 │ - (0000000000086E8Bh) bytes │ + offset of local header from start of archive: 147763 │ + (0000000000024133h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): e9bf7a6b │ - compressed size: 42865 bytes │ - uncompressed size: 42865 bytes │ - length of filename: 44 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): cd22b4f8 │ + compressed size: 455 bytes │ + uncompressed size: 1304 bytes │ + length of filename: 39 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #45: │ --------------------------- │ │ - There are an extra 3 bytes preceding this file. │ + There are an extra 16 bytes preceding this file. │ │ - res/drawable-xhdpi/howitworks_enter_password.png │ + resources.arsc │ │ - offset of local header from start of archive: 595529 │ - (0000000000091649h) bytes │ + offset of local header from start of archive: 148303 │ + (000000000002434Fh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 1.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 1.0 │ compression method: none (stored) │ file security status: not encrypted │ extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 533f61f9 │ - compressed size: 37951 bytes │ - uncompressed size: 37951 bytes │ - length of filename: 48 characters │ + file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ + 32-bit CRC value (hex): a395feae │ + compressed size: 504640 bytes │ + uncompressed size: 504640 bytes │ + length of filename: 14 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #46: │ --------------------------- │ │ - There are an extra 1 bytes preceding this file. │ - │ - res/drawable-xhdpi/howitworks_verify_device.png │ + classes.dex │ │ - offset of local header from start of archive: 633559 │ - (000000000009AAD7h) bytes │ + offset of local header from start of archive: 652987 │ + (000000000009F6BBh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 2b9b64b9 │ - compressed size: 7960 bytes │ - uncompressed size: 7960 bytes │ - length of filename: 47 characters │ + extended local header: yes │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 30dc05f1 │ + compressed size: 51739 bytes │ + uncompressed size: 139032 bytes │ + length of filename: 11 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #47: │ --------------------------- │ │ - res/drawable-xhdpi/ic_launcher_authenticator.png │ + There are an extra 16 bytes preceding this file. │ │ - offset of local header from start of archive: 641596 │ - (000000000009CA3Ch) bytes │ + META-INF/MANIFEST.MF │ + │ + offset of local header from start of archive: 704783 │ + (00000000000AC10Fh) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ - version of encoding software: 1.0 │ + version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ - minimum software version required to extract: 1.0 │ - compression method: none (stored) │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ file security status: not encrypted │ extended local header: no │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:42 │ - 32-bit CRC value (hex): 98285bc3 │ - compressed size: 12598 bytes │ - uncompressed size: 12598 bytes │ - length of filename: 48 characters │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): 5ce804b1 │ + compressed size: 1581 bytes │ + uncompressed size: 4127 bytes │ + length of filename: 20 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none │ │ There is no file comment. │ │ Central directory entry #48: │ --------------------------- │ │ - There are an extra 2 bytes preceding this file. │ + META-INF/5CD2035A.SF │ │ - classes.dex │ + offset of local header from start of archive: 706414 │ + (00000000000AC76Eh) bytes │ + file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ + version of encoding software: 2.0 │ + minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ + minimum software version required to extract: 2.0 │ + compression method: deflated │ + compression sub-type (deflation): normal │ + file security status: not encrypted │ + extended local header: no │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): ea1066e7 │ + compressed size: 1640 bytes │ + uncompressed size: 4248 bytes │ + length of filename: 20 characters │ + length of extra field: 0 bytes │ + length of file comment: 0 characters │ + disk number on which file begins: disk 1 │ + apparent file type: binary │ + non-MSDOS external file attributes: 000000 hex │ + MS-DOS file attributes (00 hex): none │ + │ + There is no file comment. │ │ - offset of local header from start of archive: 654274 │ - (000000000009FBC2h) bytes │ +Central directory entry #49: │ +--------------------------- │ + │ + META-INF/5CD2035A.RSA │ + │ + offset of local header from start of archive: 708104 │ + (00000000000ACE08h) bytes │ file system or operating system of origin: MS-DOS, OS/2 or NT FAT │ version of encoding software: 2.0 │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ minimum software version required to extract: 2.0 │ compression method: deflated │ compression sub-type (deflation): normal │ file security status: not encrypted │ - extended local header: yes │ - file last modified on (DOS date/time): 2012 Aug 23 10:02:40 │ - 32-bit CRC value (hex): 68c58fa5 │ - compressed size: 51552 bytes │ - uncompressed size: 117964 bytes │ - length of filename: 11 characters │ + extended local header: no │ + file last modified on (DOS date/time): 2017 Oct 21 00:08:46 │ + 32-bit CRC value (hex): a0f9faf2 │ + compressed size: 1040 bytes │ + uncompressed size: 1297 bytes │ + length of filename: 21 characters │ length of extra field: 0 bytes │ length of file comment: 0 characters │ disk number on which file begins: disk 1 │ apparent file type: binary │ non-MSDOS external file attributes: 000000 hex │ MS-DOS file attributes (00 hex): none ├── filetype from file(1) │ @@ -1 +1 @@ │ -Zip archive data, at least v2.0 to extract │ +Java archive data (JAR) ├── AndroidManifest.xml (decoded) │ ├── AndroidManifest.xml │ │ @@ -1,9 +1,9 @@ │ │ │ │ - │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── resources.arsc │ ├── aapt2 dump resources {} │ │ @@ -120,49 +120,49 @@ │ │ type color id=05 entryCount=1 │ │ resource 0x7f050000 color/countdown_indicator │ │ () #ff71ca00 │ │ (v11) #ff5478c2 │ │ (v14) @0x01060012 │ │ type drawable id=02 entryCount=23 │ │ resource 0x7f020000 drawable/btn_dir_next_disabled_focused_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_next_disabled_focused_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_next_disabled_focused_holo_dark.9.png type=PNG │ │ resource 0x7f020001 drawable/btn_dir_next_disabled_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_next_disabled_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_next_disabled_holo_dark.9.png type=PNG │ │ resource 0x7f020002 drawable/btn_dir_next_focused_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_next_focused_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_next_focused_holo_dark.9.png type=PNG │ │ resource 0x7f020003 drawable/btn_dir_next_holo_dark │ │ () (file) res/drawable/btn_dir_next_holo_dark.xml type=XML │ │ resource 0x7f020004 drawable/btn_dir_next_normal_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_next_normal_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_next_normal_holo_dark.9.png type=PNG │ │ resource 0x7f020005 drawable/btn_dir_next_pressed_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_next_pressed_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_next_pressed_holo_dark.9.png type=PNG │ │ resource 0x7f020006 drawable/btn_dir_prev_disabled_focused_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_prev_disabled_focused_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_prev_disabled_focused_holo_dark.9.png type=PNG │ │ resource 0x7f020007 drawable/btn_dir_prev_disabled_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_prev_disabled_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_prev_disabled_holo_dark.9.png type=PNG │ │ resource 0x7f020008 drawable/btn_dir_prev_focused_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_prev_focused_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_prev_focused_holo_dark.9.png type=PNG │ │ resource 0x7f020009 drawable/btn_dir_prev_holo_dark │ │ () (file) res/drawable/btn_dir_prev_holo_dark.xml type=XML │ │ resource 0x7f02000a drawable/btn_dir_prev_normal_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_prev_normal_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_prev_normal_holo_dark.9.png type=PNG │ │ resource 0x7f02000b drawable/btn_dir_prev_pressed_holo_dark │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/btn_dir_prev_pressed_holo_dark.9.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/btn_dir_prev_pressed_holo_dark.9.png type=PNG │ │ resource 0x7f02000c drawable/howitworks_enter_code │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/howitworks_enter_code.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/howitworks_enter_code.png type=PNG │ │ resource 0x7f02000d drawable/howitworks_enter_password │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/howitworks_enter_password.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/howitworks_enter_password.png type=PNG │ │ resource 0x7f02000e drawable/howitworks_verify_device │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/howitworks_verify_device.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/howitworks_verify_device.png type=PNG │ │ resource 0x7f02000f drawable/ic_btn_back │ │ - (hdpi-v4) (file) res/drawable-hdpi/ic_btn_back.png type=PNG │ │ + (hdpi-v4) (file) res/drawable-hdpi-v4/ic_btn_back.png type=PNG │ │ resource 0x7f020010 drawable/ic_btn_next │ │ - (hdpi-v4) (file) res/drawable-hdpi/ic_btn_next.png type=PNG │ │ + (hdpi-v4) (file) res/drawable-hdpi-v4/ic_btn_next.png type=PNG │ │ resource 0x7f020011 drawable/ic_launcher_authenticator │ │ - (xhdpi-v4) (file) res/drawable-xhdpi/ic_launcher_authenticator.png type=PNG │ │ + (xhdpi-v4) (file) res/drawable-xhdpi-v4/ic_launcher_authenticator.png type=PNG │ │ resource 0x7f020012 drawable/ic_stat_notify_bt │ │ (ldpi-v11) (file) res/drawable-ldpi-v11/ic_stat_notify_bt.png type=PNG │ │ resource 0x7f020013 drawable/refresh │ │ () (file) res/drawable/refresh.png type=PNG │ │ (mdpi-v11) (file) res/drawable-mdpi-v11/refresh.png type=PNG │ │ (mdpi-v14) (file) res/drawable-mdpi-v14/refresh.png type=PNG │ │ resource 0x7f020014 drawable/refresh_button │ │ @@ -262,14 +262,15 @@ │ │ () (file) res/layout/howitworks_enter_password.xml type=XML │ │ resource 0x7f030005 layout/howitworks_verify_device │ │ () (file) res/layout/howitworks_verify_device.xml type=XML │ │ resource 0x7f030006 layout/main │ │ () (file) res/layout/main.xml type=XML │ │ resource 0x7f030007 layout/remove_account_prompt │ │ () (file) res/layout/remove_account_prompt.xml type=XML │ │ + (v11) (file) res/layout-v11/remove_account_prompt.xml type=XML │ │ resource 0x7f030008 layout/rename │ │ () (file) res/layout/rename.xml type=XML │ │ resource 0x7f030009 layout/timesync_about │ │ () (file) res/layout/timesync_about.xml type=XML │ │ resource 0x7f03000a layout/user_row │ │ () (file) res/layout/user_row.xml type=XML │ │ resource 0x7f03000b layout/wizard_page ├── classes.dex │ ├── dexdump -a -d -f -h {} │ │┄ Ignoring differences in offsets to keep diff size reasonable. │ │ @@ -1,36 +1,36 @@ │ │ DEX version '035' │ │ DEX file header: │ │ magic : 'dex\n035\0' │ │ -checksum : 13fc0db3 │ │ -signature : 29b5...329b │ │ -file_size : 117964 │ │ +checksum : fc4fd995 │ │ +signature : 94c0...b88a │ │ +file_size : 139032 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ -string_ids_size : 1790 │ │ +string_ids_size : 1784 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 312 │ │ -type_ids_off : 7272 (0x001c68) │ │ +type_ids_off : 7248 (0x001c50) │ │ proto_ids_size : 358 │ │ -proto_ids_off : 8520 (0x002148) │ │ +proto_ids_off : 8496 (0x002130) │ │ field_ids_size : 461 │ │ -field_ids_off : 12816 (0x003210) │ │ +field_ids_off : 12792 (0x0031f8) │ │ method_ids_size : 920 │ │ -method_ids_off : 16504 (0x004078) │ │ +method_ids_off : 16480 (0x004060) │ │ class_defs_size : 114 │ │ -class_defs_off : 23864 (0x005d38) │ │ -data_size : 90452 │ │ -data_off : 27512 (0x006b78) │ │ +class_defs_off : 23840 (0x005d20) │ │ +data_size : 111496 │ │ +data_off : 27536 (0x006b90) │ │ │ │ Class #0 header: │ │ class_idx : 6 │ │ access_flags : 9729 (0x2601) │ │ superclass_idx : 243 │ │ -source_file_idx : 627 │ │ +source_file_idx : 624 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 0 │ │ virtual_methods_size: 1 │ │ │ │ Class #0 annotations: │ │ Annotations on class │ │ @@ -49,21 +49,21 @@ │ │ Virtual methods - │ │ #0 : (in Landroid/annotation/SuppressLint;) │ │ name : 'value' │ │ type : '()[Ljava/lang/String;' │ │ access : 0x0401 (PUBLIC ABSTRACT) │ │ code : (none) │ │ │ │ - source_file_idx : 627 (SuppressLint.java) │ │ + source_file_idx : 624 (SuppressLint.java) │ │ │ │ Class #1 header: │ │ class_idx : 7 │ │ access_flags : 9729 (0x2601) │ │ superclass_idx : 243 │ │ -source_file_idx : 642 │ │ +source_file_idx : 639 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 0 │ │ virtual_methods_size: 1 │ │ │ │ Class #1 annotations: │ │ Annotations on class │ │ @@ -82,138 +82,32 @@ │ │ Virtual methods - │ │ #0 : (in Landroid/annotation/TargetApi;) │ │ name : 'value' │ │ type : '()I' │ │ access : 0x0401 (PUBLIC ABSTRACT) │ │ code : (none) │ │ │ │ - source_file_idx : 642 (TargetApi.java) │ │ + source_file_idx : 639 (TargetApi.java) │ │ │ │ Class #2 header: │ │ -class_idx : 138 │ │ -access_flags : 1536 (0x0600) │ │ -superclass_idx : 243 │ │ -source_file_idx : 587 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 0 │ │ -virtual_methods_size: 1 │ │ - │ │ -Class #2 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1544 name="Signer" │ │ -Annotations on method #482 'sign' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/security/GeneralSecurityException; } │ │ - │ │ -Class #2 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;' │ │ - Access flags : 0x0600 (INTERFACE ABSTRACT) │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;) │ │ - name : 'sign' │ │ - type : '([B)[B' │ │ - access : 0x0401 (PUBLIC ABSTRACT) │ │ - code : (none) │ │ - │ │ - source_file_idx : 587 (PasscodeGenerator.java) │ │ - │ │ -Class #3 header: │ │ -class_idx : 96 │ │ -access_flags : 16 (0x0010) │ │ -superclass_idx : 243 │ │ -source_file_idx : 60 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 1 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 1 │ │ - │ │ -Class #3 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=getSigningOracle │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name=null │ │ - │ │ -Class #3 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/AccountDb$1;' │ │ - Access flags : 0x0010 (FINAL) │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;' │ │ - Static fields - │ │ - Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AccountDb$1;) │ │ - name : 'val$mac' │ │ - type : 'Ljavax/crypto/Mac;' │ │ - access : 0x1010 (FINAL SYNTHETIC) │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AccountDb$1;) │ │ - name : '' │ │ - type : '(Ljavax/crypto/Mac;)V' │ │ - access : 0x10000 (CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 1 │ │ - insns size : 6 16-bit code units │ │ -006f70: |[006f70] com.google.android.apps.authenticator.AccountDb$1.:(Ljavax/crypto/Mac;)V │ │ -006f80: 5b01 0700 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AccountDb$1;.val$mac:Ljavax/crypto/Mac; // field@0007 │ │ -006f84: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -006f8a: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=245 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AccountDb$1; │ │ - 0x0000 - 0x0006 reg=1 (null) Ljavax/crypto/Mac; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AccountDb$1;) │ │ - name : 'sign' │ │ - type : '([B)[B' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 7 16-bit code units │ │ -006f8c: |[006f8c] com.google.android.apps.authenticator.AccountDb$1.sign:([B)[B │ │ -006f9c: 5410 0700 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AccountDb$1;.val$mac:Ljavax/crypto/Mac; // field@0007 │ │ -006fa0: 6e20 7b03 2000 |0002: invoke-virtual {v0, v2}, Ljavax/crypto/Mac;.doFinal:([B)[B // method@037b │ │ -006fa6: 0c00 |0005: move-result-object v0 │ │ -006fa8: 1100 |0006: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=248 │ │ - locals : │ │ - 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/AccountDb$1; │ │ - 0x0000 - 0x0007 reg=2 data [B │ │ - │ │ - source_file_idx : 60 (AccountDb.java) │ │ - │ │ -Class #4 header: │ │ class_idx : 97 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 246 │ │ source_file_idx : 60 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #4 annotations: │ │ +Class #2 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/AccountDb; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=10 name="AccountDbOpenException" │ │ │ │ -Class #4 - │ │ +Class #2 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AccountDb$AccountDbOpenException;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/RuntimeException;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ @@ -222,48 +116,48 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/Exception;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -006fac: |[006fac] com.google.android.apps.authenticator.AccountDb$AccountDbOpenException.:(Ljava/lang/String;Ljava/lang/Exception;)V │ │ -006fbc: 7030 4003 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0340 │ │ -006fc2: 0e00 |0003: return-void │ │ +009420: |[009420] com.google.android.apps.authenticator.AccountDb$AccountDbOpenException.:(Ljava/lang/String;Ljava/lang/Exception;)V │ │ +009430: 7030 4003 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0340 │ │ +009436: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=444 │ │ 0x0003 line=445 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/AccountDb$AccountDbOpenException; │ │ 0x0000 - 0x0004 reg=1 message Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 e Ljava/lang/Exception; │ │ │ │ Virtual methods - │ │ source_file_idx : 60 (AccountDb.java) │ │ │ │ -Class #5 header: │ │ +Class #3 header: │ │ class_idx : 98 │ │ access_flags : 16401 (0x4011) │ │ superclass_idx : 229 │ │ source_file_idx : 60 │ │ static_fields_size : 3 │ │ instance_fields_size: 1 │ │ direct_methods_size : 5 │ │ virtual_methods_size: 0 │ │ │ │ -Class #5 annotations: │ │ +Class #3 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/AccountDb; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=16409 name="OtpType" │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/Enum" "<" "Lcom/google/android/apps/authenticator/AccountDb$OtpType;" ">;" } │ │ Annotations on method #214 '' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/Integer;" ")V" } │ │ │ │ -Class #5 - │ │ +Class #3 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AccountDb$OtpType;' │ │ Access flags : 0x4011 (PUBLIC FINAL ENUM) │ │ Superclass : 'Ljava/lang/Enum;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/AccountDb$OtpType;) │ │ name : '$VALUES' │ │ @@ -288,37 +182,37 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 0 │ │ outs : 4 │ │ insns size : 42 16-bit code units │ │ -006fc4: |[006fc4] com.google.android.apps.authenticator.AccountDb$OtpType.:()V │ │ -006fd4: 1214 |0000: const/4 v4, #int 1 // #1 │ │ -006fd6: 1203 |0001: const/4 v3, #int 0 // #0 │ │ -006fd8: 2200 6200 |0002: new-instance v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@0062 │ │ -006fdc: 1a01 7a02 |0004: const-string v1, "TOTP" // string@027a │ │ -006fe0: 7110 3203 0300 |0006: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -006fe6: 0c02 |0009: move-result-object v2 │ │ -006fe8: 7040 d600 1023 |000a: invoke-direct {v0, v1, v3, v2}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.:(Ljava/lang/String;ILjava/lang/Integer;)V // method@00d6 │ │ -006fee: 6900 0a00 |000d: sput-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ -006ff2: 2200 6200 |000f: new-instance v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@0062 │ │ -006ff6: 1a01 9900 |0011: const-string v1, "HOTP" // string@0099 │ │ -006ffa: 7110 3203 0400 |0013: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -007000: 0c02 |0016: move-result-object v2 │ │ -007002: 7040 d600 1024 |0017: invoke-direct {v0, v1, v4, v2}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.:(Ljava/lang/String;ILjava/lang/Integer;)V // method@00d6 │ │ -007008: 6900 0900 |001a: sput-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -00700c: 1220 |001c: const/4 v0, #int 2 // #2 │ │ -00700e: 2300 2f01 |001d: new-array v0, v0, [Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@012f │ │ -007012: 6201 0a00 |001f: sget-object v1, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ -007016: 4d01 0003 |0021: aput-object v1, v0, v3 │ │ -00701a: 6201 0900 |0023: sget-object v1, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -00701e: 4d01 0004 |0025: aput-object v1, v0, v4 │ │ -007022: 6900 0800 |0027: sput-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.$VALUES:[Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0008 │ │ -007026: 0e00 |0029: return-void │ │ +009438: |[009438] com.google.android.apps.authenticator.AccountDb$OtpType.:()V │ │ +009448: 1214 |0000: const/4 v4, #int 1 // #1 │ │ +00944a: 1203 |0001: const/4 v3, #int 0 // #0 │ │ +00944c: 2200 6200 |0002: new-instance v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@0062 │ │ +009450: 1a01 7702 |0004: const-string v1, "TOTP" // string@0277 │ │ +009454: 7110 3203 0300 |0006: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00945a: 0c02 |0009: move-result-object v2 │ │ +00945c: 7040 d600 1023 |000a: invoke-direct {v0, v1, v3, v2}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.:(Ljava/lang/String;ILjava/lang/Integer;)V // method@00d6 │ │ +009462: 6900 0a00 |000d: sput-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ +009466: 2200 6200 |000f: new-instance v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@0062 │ │ +00946a: 1a01 9900 |0011: const-string v1, "HOTP" // string@0099 │ │ +00946e: 7110 3203 0400 |0013: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +009474: 0c02 |0016: move-result-object v2 │ │ +009476: 7040 d600 1024 |0017: invoke-direct {v0, v1, v4, v2}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.:(Ljava/lang/String;ILjava/lang/Integer;)V // method@00d6 │ │ +00947c: 6900 0900 |001a: sput-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +009480: 1220 |001c: const/4 v0, #int 2 // #2 │ │ +009482: 2300 2f01 |001d: new-array v0, v0, [Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@012f │ │ +009486: 6201 0a00 |001f: sget-object v1, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ +00948a: 4d01 0003 |0021: aput-object v1, v0, v3 │ │ +00948e: 6201 0900 |0023: sget-object v1, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +009492: 4d01 0004 |0025: aput-object v1, v0, v4 │ │ +009496: 6900 0800 |0027: sput-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.$VALUES:[Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0008 │ │ +00949a: 0e00 |0029: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=78 │ │ 0x000f line=79 │ │ 0x001c line=77 │ │ locals : │ │ │ │ @@ -327,18 +221,18 @@ │ │ type : '(Ljava/lang/String;ILjava/lang/Integer;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 6 16-bit code units │ │ -007028: |[007028] com.google.android.apps.authenticator.AccountDb$OtpType.:(Ljava/lang/String;ILjava/lang/Integer;)V │ │ -007038: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ -00703e: 5b03 0b00 |0003: iput-object v3, v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.value:Ljava/lang/Integer; // field@000b │ │ -007042: 0e00 |0005: return-void │ │ +00949c: |[00949c] com.google.android.apps.authenticator.AccountDb$OtpType.:(Ljava/lang/String;ILjava/lang/Integer;)V │ │ +0094ac: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ +0094b2: 5b03 0b00 |0003: iput-object v3, v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.value:Ljava/lang/Integer; // field@000b │ │ +0094b6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x0003 line=83 │ │ 0x0005 line=84 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ @@ -351,60 +245,57 @@ │ │ type : '(Ljava/lang/Integer;)Lcom/google/android/apps/authenticator/AccountDb$OtpType;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 24 16-bit code units │ │ -007044: |[007044] com.google.android.apps.authenticator.AccountDb$OtpType.getEnum:(Ljava/lang/Integer;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ -007054: 7100 da00 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.values:()[Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00da │ │ -00705a: 0c00 |0003: move-result-object v0 │ │ -00705c: 2102 |0004: array-length v2, v0 │ │ -00705e: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -007060: 3521 1000 |0006: if-ge v1, v2, 0016 // +0010 │ │ -007064: 4603 0001 |0008: aget-object v3, v0, v1 │ │ -007068: 5434 0b00 |000a: iget-object v4, v3, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.value:Ljava/lang/Integer; // field@000b │ │ -00706c: 6e20 2a03 5400 |000c: invoke-virtual {v4, v5}, Ljava/lang/Integer;.equals:(Ljava/lang/Object;)Z // method@032a │ │ -007072: 0a04 |000f: move-result v4 │ │ -007074: 3804 0300 |0010: if-eqz v4, 0013 // +0003 │ │ -007078: 1103 |0012: return-object v3 │ │ -00707a: d801 0101 |0013: add-int/lit8 v1, v1, #int 1 // #01 │ │ -00707e: 28f1 |0015: goto 0006 // -000f │ │ -007080: 1203 |0016: const/4 v3, #int 0 // #0 │ │ -007082: 28fb |0017: goto 0012 // -0005 │ │ +0094b8: |[0094b8] com.google.android.apps.authenticator.AccountDb$OtpType.getEnum:(Ljava/lang/Integer;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ +0094c8: 7100 da00 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.values:()[Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00da │ │ +0094ce: 0c02 |0003: move-result-object v2 │ │ +0094d0: 2123 |0004: array-length v3, v2 │ │ +0094d2: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +0094d4: 3531 1000 |0006: if-ge v1, v3, 0016 // +0010 │ │ +0094d8: 4600 0201 |0008: aget-object v0, v2, v1 │ │ +0094dc: 5404 0b00 |000a: iget-object v4, v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.value:Ljava/lang/Integer; // field@000b │ │ +0094e0: 6e20 2a03 5400 |000c: invoke-virtual {v4, v5}, Ljava/lang/Integer;.equals:(Ljava/lang/Object;)Z // method@032a │ │ +0094e6: 0a04 |000f: move-result v4 │ │ +0094e8: 3804 0300 |0010: if-eqz v4, 0013 // +0003 │ │ +0094ec: 1100 |0012: return-object v0 │ │ +0094ee: d801 0101 |0013: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0094f2: 28f1 |0015: goto 0006 // -000f │ │ +0094f4: 1200 |0016: const/4 v0, #int 0 // #0 │ │ +0094f6: 28fb |0017: goto 0012 // -0005 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=87 │ │ 0x000a line=88 │ │ 0x0012 line=93 │ │ 0x0013 line=87 │ │ 0x0016 line=93 │ │ locals : │ │ - 0x000a - 0x0012 reg=3 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0013 - 0x0016 reg=3 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0004 - 0x0018 reg=0 arr$ [Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0006 - 0x0018 reg=1 i$ I │ │ - 0x0005 - 0x0018 reg=2 len$ I │ │ + 0x000a - 0x0012 reg=0 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x0013 - 0x0016 reg=0 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ 0x0000 - 0x0018 reg=5 i Ljava/lang/Integer; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/AccountDb$OtpType;) │ │ name : 'valueOf' │ │ type : '(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -007084: |[007084] com.google.android.apps.authenticator.AccountDb$OtpType.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ -007094: 1c00 6200 |0000: const-class v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@0062 │ │ -007098: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ -00709e: 0c00 |0005: move-result-object v0 │ │ -0070a0: 1f00 6200 |0006: check-cast v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@0062 │ │ -0070a4: 1100 |0008: return-object v0 │ │ +0094f8: |[0094f8] com.google.android.apps.authenticator.AccountDb$OtpType.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ +009508: 1c00 6200 |0000: const-class v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@0062 │ │ +00950c: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ +009512: 0c00 |0005: move-result-object v0 │ │ +009514: 1f00 6200 |0006: check-cast v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@0062 │ │ +009518: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 name Ljava/lang/String; │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/AccountDb$OtpType;) │ │ @@ -412,51 +303,51 @@ │ │ type : '()[Lcom/google/android/apps/authenticator/AccountDb$OtpType;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -0070a8: |[0070a8] com.google.android.apps.authenticator.AccountDb$OtpType.values:()[Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ -0070b8: 6200 0800 |0000: sget-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.$VALUES:[Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0008 │ │ -0070bc: 6e10 9303 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/AccountDb$OtpType;.clone:()Ljava/lang/Object; // method@0393 │ │ -0070c2: 0c00 |0005: move-result-object v0 │ │ -0070c4: 1f00 2f01 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@012f │ │ -0070c8: 1100 |0008: return-object v0 │ │ +00951c: |[00951c] com.google.android.apps.authenticator.AccountDb$OtpType.values:()[Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ +00952c: 6200 0800 |0000: sget-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.$VALUES:[Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0008 │ │ +009530: 6e10 9303 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/AccountDb$OtpType;.clone:()Ljava/lang/Object; // method@0393 │ │ +009536: 0c00 |0005: move-result-object v0 │ │ +009538: 1f00 2f01 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/AccountDb$OtpType; // type@012f │ │ +00953c: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=77 │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : 60 (AccountDb.java) │ │ │ │ -Class #6 header: │ │ +Class #4 header: │ │ class_idx : 99 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ source_file_idx : 60 │ │ static_fields_size : 14 │ │ instance_fields_size: 1 │ │ direct_methods_size : 13 │ │ virtual_methods_size: 14 │ │ │ │ -Class #6 annotations: │ │ +Class #4 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/AccountDb$AccountDbOpenException; Lcom/google/android/apps/authenticator/AccountDb$OtpType; } │ │ Annotations on method #223 'decodeKey' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/Base32String$DecodingException; } │ │ Annotations on method #230 'getNames' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/util/Collection" "<" "Ljava/lang/String;" ">;)I" } │ │ Annotations on method #237 'listTableColumnNamesLowerCase' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "()" "Ljava/util/Collection" "<" "Ljava/lang/String;" ">;" } │ │ Annotations on method #238 'listTableColumnNamesLowerCase' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Landroid/database/sqlite/SQLiteDatabase;" "Ljava/lang/String;" ")" "Ljava/util/Collection" "<" "Ljava/lang/String;" ">;" } │ │ │ │ -Class #6 - │ │ +Class #4 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AccountDb;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ name : 'COUNTER_COLUMN' │ │ @@ -539,105 +430,109 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -0070cc: |[0070cc] com.google.android.apps.authenticator.AccountDb.:()V │ │ -0070dc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0070de: 7110 3203 0000 |0001: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -0070e4: 0c00 |0004: move-result-object v0 │ │ -0070e6: 6900 0d00 |0005: sput-object v0, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ -0070ea: 0e00 |0007: return-void │ │ +009540: |[009540] com.google.android.apps.authenticator.AccountDb.:()V │ │ +009550: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +009552: 7110 3203 0000 |0001: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +009558: 0c00 |0004: move-result-object v0 │ │ +00955a: 6900 0d00 |0005: sput-object v0, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ +00955e: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ locals : │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ name : '' │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 12 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 118 16-bit code units │ │ -0070ec: |[0070ec] com.google.android.apps.authenticator.AccountDb.:(Landroid/content/Context;)V │ │ -0070fc: 1239 |0000: const/4 v9, #int 3 // #3 │ │ -0070fe: 1228 |0001: const/4 v8, #int 2 // #2 │ │ -007100: 1217 |0002: const/4 v7, #int 1 // #1 │ │ -007102: 1206 |0003: const/4 v6, #int 0 // #0 │ │ -007104: 7010 3a03 0a00 |0004: invoke-direct {v10}, Ljava/lang/Object;.:()V // method@033a │ │ -00710a: 7020 f000 ba00 |0007: invoke-direct {v10, v11}, Lcom/google/android/apps/authenticator/AccountDb;.openDatabase:(Landroid/content/Context;)Landroid/database/sqlite/SQLiteDatabase; // method@00f0 │ │ -007110: 0c01 |000a: move-result-object v1 │ │ -007112: 5ba1 1a00 |000b: iput-object v1, v10, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -007116: 54a1 1a00 |000d: iget-object v1, v10, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -00711a: 1a02 6000 |000f: const-string v2, "CREATE TABLE IF NOT EXISTS %s (%s INTEGER PRIMARY KEY, %s TEXT NOT NULL, %s TEXT NOT NULL, %s INTEGER DEFAULT %s, %s INTEGER, %s INTEGER DEFAULT %s)" // string@0060 │ │ -00711e: 1303 0900 |0011: const/16 v3, #int 9 // #9 │ │ -007122: 2333 3601 |0013: new-array v3, v3, [Ljava/lang/Object; // type@0136 │ │ -007126: 1a04 0703 |0015: const-string v4, "accounts" // string@0307 │ │ -00712a: 4d04 0306 |0017: aput-object v4, v3, v6 │ │ -00712e: 1a04 d902 |0019: const-string v4, "_id" // string@02d9 │ │ -007132: 4d04 0307 |001b: aput-object v4, v3, v7 │ │ -007136: 1a04 da03 |001d: const-string v4, "email" // string@03da │ │ -00713a: 4d04 0308 |001f: aput-object v4, v3, v8 │ │ -00713e: 1a04 1a06 |0021: const-string v4, "secret" // string@061a │ │ -007142: 4d04 0309 |0023: aput-object v4, v3, v9 │ │ -007146: 1244 |0025: const/4 v4, #int 4 // #4 │ │ -007148: 1a05 9803 |0026: const-string v5, "counter" // string@0398 │ │ -00714c: 4d05 0304 |0028: aput-object v5, v3, v4 │ │ -007150: 1254 |002a: const/4 v4, #int 5 // #5 │ │ -007152: 6205 0d00 |002b: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ -007156: 4d05 0304 |002d: aput-object v5, v3, v4 │ │ -00715a: 1264 |002f: const/4 v4, #int 6 // #6 │ │ -00715c: 1a05 b206 |0030: const-string v5, "type" // string@06b2 │ │ -007160: 4d05 0304 |0032: aput-object v5, v3, v4 │ │ -007164: 1274 |0034: const/4 v4, #int 7 // #7 │ │ -007166: 1a05 c305 |0035: const-string v5, "provider" // string@05c3 │ │ -00716a: 4d05 0304 |0037: aput-object v5, v3, v4 │ │ -00716e: 1304 0800 |0039: const/16 v4, #int 8 // #8 │ │ -007172: 7110 3203 0600 |003b: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -007178: 0c05 |003e: move-result-object v5 │ │ -00717a: 4d05 0304 |003f: aput-object v5, v3, v4 │ │ -00717e: 7120 4503 3200 |0041: invoke-static {v2, v3}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ -007184: 0c02 |0044: move-result-object v2 │ │ -007186: 6e20 5a00 2100 |0045: invoke-virtual {v1, v2}, Landroid/database/sqlite/SQLiteDatabase;.execSQL:(Ljava/lang/String;)V // method@005a │ │ -00718c: 7010 ed00 0a00 |0048: invoke-direct {v10}, Lcom/google/android/apps/authenticator/AccountDb;.listTableColumnNamesLowerCase:()Ljava/util/Collection; // method@00ed │ │ -007192: 0c00 |004b: move-result-object v0 │ │ -007194: 1a01 c305 |004c: const-string v1, "provider" // string@05c3 │ │ -007198: 6202 cc01 |004e: sget-object v2, Ljava/util/Locale;.US:Ljava/util/Locale; // field@01cc │ │ -00719c: 6e20 4f03 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/String;.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String; // method@034f │ │ -0071a2: 0c01 |0053: move-result-object v1 │ │ -0071a4: 7220 6c03 1000 |0054: invoke-interface {v0, v1}, Ljava/util/Collection;.contains:(Ljava/lang/Object;)Z // method@036c │ │ -0071aa: 0a01 |0057: move-result v1 │ │ -0071ac: 3901 1d00 |0058: if-nez v1, 0075 // +001d │ │ -0071b0: 54a1 1a00 |005a: iget-object v1, v10, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -0071b4: 1a02 3900 |005c: const-string v2, "ALTER TABLE %s ADD COLUMN %s INTEGER DEFAULT %s" // string@0039 │ │ -0071b8: 2393 3601 |005e: new-array v3, v9, [Ljava/lang/Object; // type@0136 │ │ -0071bc: 1a04 0703 |0060: const-string v4, "accounts" // string@0307 │ │ -0071c0: 4d04 0306 |0062: aput-object v4, v3, v6 │ │ -0071c4: 1a04 c305 |0064: const-string v4, "provider" // string@05c3 │ │ -0071c8: 4d04 0307 |0066: aput-object v4, v3, v7 │ │ -0071cc: 7110 3203 0600 |0068: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -0071d2: 0c04 |006b: move-result-object v4 │ │ -0071d4: 4d04 0308 |006c: aput-object v4, v3, v8 │ │ -0071d8: 7120 4503 3200 |006e: invoke-static {v2, v3}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ -0071de: 0c02 |0071: move-result-object v2 │ │ -0071e0: 6e20 5a00 2100 |0072: invoke-virtual {v1, v2}, Landroid/database/sqlite/SQLiteDatabase;.execSQL:(Ljava/lang/String;)V // method@005a │ │ -0071e6: 0e00 |0075: return-void │ │ +009560: |[009560] com.google.android.apps.authenticator.AccountDb.:(Landroid/content/Context;)V │ │ +009570: 1239 |0000: const/4 v9, #int 3 // #3 │ │ +009572: 1228 |0001: const/4 v8, #int 2 // #2 │ │ +009574: 1217 |0002: const/4 v7, #int 1 // #1 │ │ +009576: 1206 |0003: const/4 v6, #int 0 // #0 │ │ +009578: 7010 3a03 0a00 |0004: invoke-direct {v10}, Ljava/lang/Object;.:()V // method@033a │ │ +00957e: 7020 f000 ba00 |0007: invoke-direct {v10, v11}, Lcom/google/android/apps/authenticator/AccountDb;.openDatabase:(Landroid/content/Context;)Landroid/database/sqlite/SQLiteDatabase; // method@00f0 │ │ +009584: 0c01 |000a: move-result-object v1 │ │ +009586: 5ba1 1a00 |000b: iput-object v1, v10, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +00958a: 54a1 1a00 |000d: iget-object v1, v10, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +00958e: 1a02 6000 |000f: const-string v2, "CREATE TABLE IF NOT EXISTS %s (%s INTEGER PRIMARY KEY, %s TEXT NOT NULL, %s TEXT NOT NULL, %s INTEGER DEFAULT %s, %s INTEGER, %s INTEGER DEFAULT %s)" // string@0060 │ │ +009592: 1303 0900 |0011: const/16 v3, #int 9 // #9 │ │ +009596: 2333 3601 |0013: new-array v3, v3, [Ljava/lang/Object; // type@0136 │ │ +00959a: 1a04 0403 |0015: const-string v4, "accounts" // string@0304 │ │ +00959e: 4d04 0306 |0017: aput-object v4, v3, v6 │ │ +0095a2: 1a04 d602 |0019: const-string v4, "_id" // string@02d6 │ │ +0095a6: 4d04 0307 |001b: aput-object v4, v3, v7 │ │ +0095aa: 1a04 d603 |001d: const-string v4, "email" // string@03d6 │ │ +0095ae: 4d04 0308 |001f: aput-object v4, v3, v8 │ │ +0095b2: 1a04 1406 |0021: const-string v4, "secret" // string@0614 │ │ +0095b6: 4d04 0309 |0023: aput-object v4, v3, v9 │ │ +0095ba: 1244 |0025: const/4 v4, #int 4 // #4 │ │ +0095bc: 1a05 9403 |0026: const-string v5, "counter" // string@0394 │ │ +0095c0: 4d05 0304 |0028: aput-object v5, v3, v4 │ │ +0095c4: 1254 |002a: const/4 v4, #int 5 // #5 │ │ +0095c6: 6205 0d00 |002b: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ +0095ca: 4d05 0304 |002d: aput-object v5, v3, v4 │ │ +0095ce: 1264 |002f: const/4 v4, #int 6 // #6 │ │ +0095d0: 1a05 ac06 |0030: const-string v5, "type" // string@06ac │ │ +0095d4: 4d05 0304 |0032: aput-object v5, v3, v4 │ │ +0095d8: 1274 |0034: const/4 v4, #int 7 // #7 │ │ +0095da: 1a05 bd05 |0035: const-string v5, "provider" // string@05bd │ │ +0095de: 4d05 0304 |0037: aput-object v5, v3, v4 │ │ +0095e2: 1304 0800 |0039: const/16 v4, #int 8 // #8 │ │ +0095e6: 7110 3203 0600 |003b: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +0095ec: 0c05 |003e: move-result-object v5 │ │ +0095ee: 4d05 0304 |003f: aput-object v5, v3, v4 │ │ +0095f2: 7120 4503 3200 |0041: invoke-static {v2, v3}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ +0095f8: 0c02 |0044: move-result-object v2 │ │ +0095fa: 6e20 5a00 2100 |0045: invoke-virtual {v1, v2}, Landroid/database/sqlite/SQLiteDatabase;.execSQL:(Ljava/lang/String;)V // method@005a │ │ +009600: 7010 ed00 0a00 |0048: invoke-direct {v10}, Lcom/google/android/apps/authenticator/AccountDb;.listTableColumnNamesLowerCase:()Ljava/util/Collection; // method@00ed │ │ +009606: 0c00 |004b: move-result-object v0 │ │ +009608: 1a01 bd05 |004c: const-string v1, "provider" // string@05bd │ │ +00960c: 6202 cc01 |004e: sget-object v2, Ljava/util/Locale;.US:Ljava/util/Locale; // field@01cc │ │ +009610: 6e20 4f03 2100 |0050: invoke-virtual {v1, v2}, Ljava/lang/String;.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String; // method@034f │ │ +009616: 0c01 |0053: move-result-object v1 │ │ +009618: 7220 6c03 1000 |0054: invoke-interface {v0, v1}, Ljava/util/Collection;.contains:(Ljava/lang/Object;)Z // method@036c │ │ +00961e: 0a01 |0057: move-result v1 │ │ +009620: 3901 1d00 |0058: if-nez v1, 0075 // +001d │ │ +009624: 54a1 1a00 |005a: iget-object v1, v10, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +009628: 1a02 3900 |005c: const-string v2, "ALTER TABLE %s ADD COLUMN %s INTEGER DEFAULT %s" // string@0039 │ │ +00962c: 2393 3601 |005e: new-array v3, v9, [Ljava/lang/Object; // type@0136 │ │ +009630: 1a04 0403 |0060: const-string v4, "accounts" // string@0304 │ │ +009634: 4d04 0306 |0062: aput-object v4, v3, v6 │ │ +009638: 1a04 bd05 |0064: const-string v4, "provider" // string@05bd │ │ +00963c: 4d04 0307 |0066: aput-object v4, v3, v7 │ │ +009640: 7110 3203 0600 |0068: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +009646: 0c04 |006b: move-result-object v4 │ │ +009648: 4d04 0308 |006c: aput-object v4, v3, v8 │ │ +00964c: 7120 4503 3200 |006e: invoke-static {v2, v3}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ +009652: 0c02 |0071: move-result-object v2 │ │ +009654: 6e20 5a00 2100 |0072: invoke-virtual {v1, v2}, Landroid/database/sqlite/SQLiteDatabase;.execSQL:(Ljava/lang/String;)V // method@005a │ │ +00965a: 0e00 |0075: return-void │ │ catches : (none) │ │ positions : │ │ 0x0004 line=98 │ │ 0x0007 line=99 │ │ 0x000d line=102 │ │ + 0x003b line=108 │ │ + 0x0041 line=102 │ │ 0x0048 line=110 │ │ 0x004c line=111 │ │ 0x005a line=113 │ │ + 0x0068 line=115 │ │ + 0x006e line=113 │ │ 0x0075 line=117 │ │ locals : │ │ 0x004c - 0x0076 reg=0 tableColumnNames Ljava/util/Collection; Ljava/util/Collection; │ │ 0x0000 - 0x0076 reg=10 this Lcom/google/android/apps/authenticator/AccountDb; │ │ 0x0000 - 0x0076 reg=11 context Landroid/content/Context; │ │ │ │ #2 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ @@ -645,23 +540,23 @@ │ │ type : '(Landroid/database/Cursor;)Z' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -0071e8: |[0071e8] com.google.android.apps.authenticator.AccountDb.cursorIsEmpty:(Landroid/database/Cursor;)Z │ │ -0071f8: 3801 0800 |0000: if-eqz v1, 0008 // +0008 │ │ -0071fc: 7210 5000 0100 |0002: invoke-interface {v1}, Landroid/database/Cursor;.getCount:()I // method@0050 │ │ -007202: 0a00 |0005: move-result v0 │ │ -007204: 3900 0400 |0006: if-nez v0, 000a // +0004 │ │ -007208: 1210 |0008: const/4 v0, #int 1 // #1 │ │ -00720a: 0f00 |0009: return v0 │ │ -00720c: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -00720e: 28fe |000b: goto 0009 // -0002 │ │ +00965c: |[00965c] com.google.android.apps.authenticator.AccountDb.cursorIsEmpty:(Landroid/database/Cursor;)Z │ │ +00966c: 3801 0800 |0000: if-eqz v1, 0008 // +0008 │ │ +009670: 7210 5000 0100 |0002: invoke-interface {v1}, Landroid/database/Cursor;.getCount:()I // method@0050 │ │ +009676: 0a00 |0005: move-result v0 │ │ +009678: 3900 0400 |0006: if-nez v0, 000a // +0004 │ │ +00967c: 1210 |0008: const/4 v0, #int 1 // #1 │ │ +00967e: 0f00 |0009: return v0 │ │ +009680: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +009682: 28fe |000b: goto 0009 // -0002 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=402 │ │ locals : │ │ 0x0000 - 0x000c reg=1 c Landroid/database/Cursor; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ @@ -669,18 +564,18 @@ │ │ type : '(Ljava/lang/String;)[B' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -007210: |[007210] com.google.android.apps.authenticator.AccountDb.decodeKey:(Ljava/lang/String;)[B │ │ -007220: 7110 8d01 0100 |0000: invoke-static {v1}, Lcom/google/android/apps/authenticator/Base32String;.decode:(Ljava/lang/String;)[B // method@018d │ │ -007226: 0c00 |0003: move-result-object v0 │ │ -007228: 1100 |0004: return-object v0 │ │ +009684: |[009684] com.google.android.apps.authenticator.AccountDb.decodeKey:(Ljava/lang/String;)[B │ │ +009694: 7110 8d01 0100 |0000: invoke-static {v1}, Lcom/google/android/apps/authenticator/Base32String;.decode:(Ljava/lang/String;)[B // method@018d │ │ +00969a: 0c00 |0003: move-result-object v0 │ │ +00969c: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=263 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 secret Ljava/lang/String; │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ @@ -688,243 +583,239 @@ │ │ type : '(Ljava/lang/String;)Landroid/database/Cursor;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 8 │ │ insns size : 21 16-bit code units │ │ -00722c: |[00722c] com.google.android.apps.authenticator.AccountDb.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; │ │ -00723c: 1202 |0000: const/4 v2, #int 0 // #0 │ │ -00723e: 5480 1a00 |0001: iget-object v0, v8, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -007242: 1a01 0703 |0003: const-string v1, "accounts" // string@0307 │ │ -007246: 1a03 dc03 |0005: const-string v3, "email= ?" // string@03dc │ │ -00724a: 1214 |0007: const/4 v4, #int 1 // #1 │ │ -00724c: 2344 3701 |0008: new-array v4, v4, [Ljava/lang/String; // type@0137 │ │ -007250: 1205 |000a: const/4 v5, #int 0 // #0 │ │ -007252: 4d09 0405 |000b: aput-object v9, v4, v5 │ │ -007256: 0725 |000d: move-object v5, v2 │ │ -007258: 0726 |000e: move-object v6, v2 │ │ -00725a: 0727 |000f: move-object v7, v2 │ │ -00725c: 7408 5c00 0000 |0010: invoke-virtual/range {v0, v1, v2, v3, v4, v5, v6, v7}, Landroid/database/sqlite/SQLiteDatabase;.query:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; // method@005c │ │ -007262: 0c00 |0013: move-result-object v0 │ │ -007264: 1100 |0014: return-object v0 │ │ +0096a0: |[0096a0] com.google.android.apps.authenticator.AccountDb.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; │ │ +0096b0: 1202 |0000: const/4 v2, #int 0 // #0 │ │ +0096b2: 5480 1a00 |0001: iget-object v0, v8, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +0096b6: 1a01 0403 |0003: const-string v1, "accounts" // string@0304 │ │ +0096ba: 1a03 d803 |0005: const-string v3, "email= ?" // string@03d8 │ │ +0096be: 1214 |0007: const/4 v4, #int 1 // #1 │ │ +0096c0: 2344 3701 |0008: new-array v4, v4, [Ljava/lang/String; // type@0137 │ │ +0096c4: 1205 |000a: const/4 v5, #int 0 // #0 │ │ +0096c6: 4d09 0405 |000b: aput-object v9, v4, v5 │ │ +0096ca: 0725 |000d: move-object v5, v2 │ │ +0096cc: 0726 |000e: move-object v6, v2 │ │ +0096ce: 0727 |000f: move-object v7, v2 │ │ +0096d0: 7408 5c00 0000 |0010: invoke-virtual/range {v0, v1, v2, v3, v4, v5, v6, v7}, Landroid/database/sqlite/SQLiteDatabase;.query:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; // method@005c │ │ +0096d6: 0c00 |0013: move-result-object v0 │ │ +0096d8: 1100 |0014: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=394 │ │ locals : │ │ 0x0000 - 0x0015 reg=8 this Lcom/google/android/apps/authenticator/AccountDb; │ │ 0x0000 - 0x0015 reg=9 email Ljava/lang/String; │ │ │ │ #5 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ name : 'getAccountDbOpenFailedErrorString' │ │ type : '(Landroid/content/Context;)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ - registers : 19 │ │ + registers : 18 │ │ ins : 2 │ │ outs : 2 │ │ - insns size : 220 16-bit code units │ │ -007268: |[007268] com.google.android.apps.authenticator.AccountDb.getAccountDbOpenFailedErrorString:(Landroid/content/Context;)Ljava/lang/String; │ │ -007278: 7401 2200 1200 |0000: invoke-virtual/range {v18}, Landroid/content/Context;.getApplicationInfo:()Landroid/content/pm/ApplicationInfo; // method@0022 │ │ -00727e: 0c0f |0003: move-result-object v15 │ │ -007280: 54f2 0000 |0004: iget-object v2, v15, Landroid/content/pm/ApplicationInfo;.dataDir:Ljava/lang/String; // field@0000 │ │ -007284: 1a0f b803 |0006: const-string v15, "databases" // string@03b8 │ │ -007288: 0800 1200 |0008: move-object/from16 v0, v18 │ │ -00728c: 6e20 2400 f000 |000a: invoke-virtual {v0, v15}, Landroid/content/Context;.getDatabasePath:(Ljava/lang/String;)Ljava/io/File; // method@0024 │ │ -007292: 0c0f |000d: move-result-object v15 │ │ -007294: 6e10 1003 0f00 |000e: invoke-virtual {v15}, Ljava/io/File;.getParent:()Ljava/lang/String; // method@0310 │ │ -00729a: 0c03 |0011: move-result-object v3 │ │ -00729c: 1a0f b803 |0012: const-string v15, "databases" // string@03b8 │ │ -0072a0: 0800 1200 |0014: move-object/from16 v0, v18 │ │ -0072a4: 6e20 2400 f000 |0016: invoke-virtual {v0, v15}, Landroid/content/Context;.getDatabasePath:(Ljava/lang/String;)Ljava/io/File; // method@0024 │ │ -0072aa: 0c0f |0019: move-result-object v15 │ │ -0072ac: 6e10 0f03 0f00 |001a: invoke-virtual {v15}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@030f │ │ -0072b2: 0c04 |001d: move-result-object v4 │ │ -0072b4: 123f |001e: const/4 v15, #int 3 // #3 │ │ -0072b6: 23f6 3701 |001f: new-array v6, v15, [Ljava/lang/String; // type@0137 │ │ -0072ba: 120f |0021: const/4 v15, #int 0 // #0 │ │ -0072bc: 4d02 060f |0022: aput-object v2, v6, v15 │ │ -0072c0: 121f |0024: const/4 v15, #int 1 // #1 │ │ -0072c2: 4d03 060f |0025: aput-object v3, v6, v15 │ │ -0072c6: 122f |0027: const/4 v15, #int 2 // #2 │ │ -0072c8: 4d04 060f |0028: aput-object v4, v6, v15 │ │ -0072cc: 2208 f900 |002a: new-instance v8, Ljava/lang/StringBuilder; // type@00f9 │ │ -0072d0: 7010 5303 0800 |002c: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -0072d6: 7100 8b00 0000 |002f: invoke-static {}, Landroid/os/Process;.myUid:()I // method@008b │ │ -0072dc: 0a0b |0032: move-result v11 │ │ -0072de: 0761 |0033: move-object v1, v6 │ │ -0072e0: 211a |0034: array-length v10, v1 │ │ -0072e2: 1209 |0035: const/4 v9, #int 0 // #0 │ │ -0072e4: 35a9 a100 |0036: if-ge v9, v10, 00d7 // +00a1 │ │ -0072e8: 4605 0109 |0038: aget-object v5, v1, v9 │ │ -0072ec: 7110 b201 0500 |003a: invoke-static {v5}, Lcom/google/android/apps/authenticator/FileUtilities;.getStat:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; // method@01b2 │ │ -0072f2: 0c0e |003d: move-result-object v14 │ │ -0072f4: 120c |003e: const/4 v12, #int 0 // #0 │ │ -0072f6: 52ef 8400 |003f: iget v15, v14, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.uid:I // field@0084 │ │ -0072fa: 390f 4200 |0041: if-nez v15, 0083 // +0042 │ │ -0072fe: 1a0c ff05 |0043: const-string v12, "root" // string@05ff │ │ -007302: 220f f900 |0045: new-instance v15, Ljava/lang/StringBuilder; // type@00f9 │ │ -007306: 7010 5303 0f00 |0047: invoke-direct {v15}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00730c: 6e20 5a03 5f00 |004a: invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007312: 0c0f |004d: move-result-object v15 │ │ -007314: 1a10 0400 |004e: const-string v16, " directory stat (my UID: " // string@0004 │ │ -007318: 7402 5a03 0f00 |0050: invoke-virtual/range {v15, v16}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00731e: 0c0f |0053: move-result-object v15 │ │ -007320: 6e20 5703 bf00 |0054: invoke-virtual {v15, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ -007326: 0c0f |0057: move-result-object v15 │ │ -007328: 6e10 5b03 0f00 |0058: invoke-virtual {v15}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00732e: 0c0f |005b: move-result-object v15 │ │ -007330: 6e20 5a03 f800 |005c: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007336: 390c 3900 |005f: if-nez v12, 0098 // +0039 │ │ -00733a: 1a0f 1500 |0061: const-string v15, "): " // string@0015 │ │ -00733e: 6e20 5a03 f800 |0063: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007344: 220f f900 |0066: new-instance v15, Ljava/lang/StringBuilder; // type@00f9 │ │ -007348: 7010 5303 0f00 |0068: invoke-direct {v15}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00734e: 6e10 ae01 0e00 |006b: invoke-virtual {v14}, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.toString:()Ljava/lang/String; // method@01ae │ │ -007354: 0c10 |006e: move-result-object v16 │ │ -007356: 7402 5a03 0f00 |006f: invoke-virtual/range {v15, v16}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00735c: 0c0f |0072: move-result-object v15 │ │ -00735e: 1a10 0100 |0073: const-string v16, " │ │ + insns size : 219 16-bit code units │ │ +0096dc: |[0096dc] com.google.android.apps.authenticator.AccountDb.getAccountDbOpenFailedErrorString:(Landroid/content/Context;)Ljava/lang/String; │ │ +0096ec: 7401 2200 1100 |0000: invoke-virtual/range {v17}, Landroid/content/Context;.getApplicationInfo:()Landroid/content/pm/ApplicationInfo; // method@0022 │ │ +0096f2: 0c0c |0003: move-result-object v12 │ │ +0096f4: 54c1 0000 |0004: iget-object v1, v12, Landroid/content/pm/ApplicationInfo;.dataDir:Ljava/lang/String; // field@0000 │ │ +0096f8: 1a0c b403 |0006: const-string v12, "databases" // string@03b4 │ │ +0096fc: 0800 1100 |0008: move-object/from16 v0, v17 │ │ +009700: 6e20 2400 c000 |000a: invoke-virtual {v0, v12}, Landroid/content/Context;.getDatabasePath:(Ljava/lang/String;)Ljava/io/File; // method@0024 │ │ +009706: 0c0c |000d: move-result-object v12 │ │ +009708: 6e10 1003 0c00 |000e: invoke-virtual {v12}, Ljava/io/File;.getParent:()Ljava/lang/String; // method@0310 │ │ +00970e: 0c02 |0011: move-result-object v2 │ │ +009710: 1a0c b403 |0012: const-string v12, "databases" // string@03b4 │ │ +009714: 0800 1100 |0014: move-object/from16 v0, v17 │ │ +009718: 6e20 2400 c000 |0016: invoke-virtual {v0, v12}, Landroid/content/Context;.getDatabasePath:(Ljava/lang/String;)Ljava/io/File; // method@0024 │ │ +00971e: 0c0c |0019: move-result-object v12 │ │ +009720: 6e10 0f03 0c00 |001a: invoke-virtual {v12}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@030f │ │ +009726: 0c03 |001d: move-result-object v3 │ │ +009728: 123c |001e: const/4 v12, #int 3 // #3 │ │ +00972a: 23c5 3701 |001f: new-array v5, v12, [Ljava/lang/String; // type@0137 │ │ +00972e: 120c |0021: const/4 v12, #int 0 // #0 │ │ +009730: 4d01 050c |0022: aput-object v1, v5, v12 │ │ +009734: 121c |0024: const/4 v12, #int 1 // #1 │ │ +009736: 4d02 050c |0025: aput-object v2, v5, v12 │ │ +00973a: 122c |0027: const/4 v12, #int 2 // #2 │ │ +00973c: 4d03 050c |0028: aput-object v3, v5, v12 │ │ +009740: 2207 f900 |002a: new-instance v7, Ljava/lang/StringBuilder; // type@00f9 │ │ +009744: 7010 5303 0700 |002c: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00974a: 7100 8b00 0000 |002f: invoke-static {}, Landroid/os/Process;.myUid:()I // method@008b │ │ +009750: 0a08 |0032: move-result v8 │ │ +009752: 215d |0033: array-length v13, v5 │ │ +009754: 120c |0034: const/4 v12, #int 0 // #0 │ │ +009756: 35dc a100 |0035: if-ge v12, v13, 00d6 // +00a1 │ │ +00975a: 4604 050c |0037: aget-object v4, v5, v12 │ │ +00975e: 7110 b201 0400 |0039: invoke-static {v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getStat:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; // method@01b2 │ │ +009764: 0c0b |003c: move-result-object v11 │ │ +009766: 1209 |003d: const/4 v9, #int 0 // #0 │ │ +009768: 52be 8400 |003e: iget v14, v11, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.uid:I // field@0084 │ │ +00976c: 390e 4200 |0040: if-nez v14, 0082 // +0042 │ │ +009770: 1a09 f905 |0042: const-string v9, "root" // string@05f9 │ │ +009774: 220e f900 |0044: new-instance v14, Ljava/lang/StringBuilder; // type@00f9 │ │ +009778: 7010 5303 0e00 |0046: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00977e: 6e20 5a03 4e00 |0049: invoke-virtual {v14, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009784: 0c0e |004c: move-result-object v14 │ │ +009786: 1a0f 0400 |004d: const-string v15, " directory stat (my UID: " // string@0004 │ │ +00978a: 6e20 5a03 fe00 |004f: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009790: 0c0e |0052: move-result-object v14 │ │ +009792: 6e20 5703 8e00 |0053: invoke-virtual {v14, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ +009798: 0c0e |0056: move-result-object v14 │ │ +00979a: 6e10 5b03 0e00 |0057: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +0097a0: 0c0e |005a: move-result-object v14 │ │ +0097a2: 6e20 5a03 e700 |005b: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +0097a8: 3909 3900 |005e: if-nez v9, 0097 // +0039 │ │ +0097ac: 1a0e 1500 |0060: const-string v14, "): " // string@0015 │ │ +0097b0: 6e20 5a03 e700 |0062: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +0097b6: 220e f900 |0065: new-instance v14, Ljava/lang/StringBuilder; // type@00f9 │ │ +0097ba: 7010 5303 0e00 |0067: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +0097c0: 6e10 ae01 0b00 |006a: invoke-virtual {v11}, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.toString:()Ljava/lang/String; // method@01ae │ │ +0097c6: 0c0f |006d: move-result-object v15 │ │ +0097c8: 6e20 5a03 fe00 |006e: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +0097ce: 0c0e |0071: move-result-object v14 │ │ +0097d0: 1a0f 0100 |0072: const-string v15, " │ │ " // string@0001 │ │ -007362: 7402 5a03 0f00 |0075: invoke-virtual/range {v15, v16}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007368: 0c0f |0078: move-result-object v15 │ │ -00736a: 6e10 5b03 0f00 |0079: invoke-virtual {v15}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -007370: 0c0f |007c: move-result-object v15 │ │ -007372: 6e20 5a03 f800 |007d: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007378: d809 0901 |0080: add-int/lit8 v9, v9, #int 1 // #01 │ │ -00737c: 28b4 |0082: goto 0036 // -004c │ │ -00737e: 7401 2500 1200 |0083: invoke-virtual/range {v18}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0025 │ │ -007384: 0c0d |0086: move-result-object v13 │ │ -007386: 380d 0900 |0087: if-eqz v13, 0090 // +0009 │ │ -00738a: 52ef 8400 |0089: iget v15, v14, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.uid:I // field@0084 │ │ -00738e: 6e20 4600 fd00 |008b: invoke-virtual {v13, v15}, Landroid/content/pm/PackageManager;.getNameForUid:(I)Ljava/lang/String; // method@0046 │ │ -007394: 0c0c |008e: move-result-object v12 │ │ -007396: 28b6 |008f: goto 0045 // -004a │ │ -007398: 120c |0090: const/4 v12, #int 0 // #0 │ │ -00739a: 28fe |0091: goto 008f // -0002 │ │ -00739c: 0d07 |0092: move-exception v7 │ │ -00739e: 6e10 2303 0700 |0093: invoke-virtual {v7}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0323 │ │ -0073a4: 0c0c |0096: move-result-object v12 │ │ -0073a6: 28ae |0097: goto 0045 // -0052 │ │ -0073a8: 220f f900 |0098: new-instance v15, Ljava/lang/StringBuilder; // type@00f9 │ │ -0073ac: 7010 5303 0f00 |009a: invoke-direct {v15}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -0073b2: 1a10 1800 |009d: const-string v16, ", dir owner UID name: " // string@0018 │ │ -0073b6: 7402 5a03 0f00 |009f: invoke-virtual/range {v15, v16}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0073bc: 0c0f |00a2: move-result-object v15 │ │ -0073be: 6e20 5a03 cf00 |00a3: invoke-virtual {v15, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0073c4: 0c0f |00a6: move-result-object v15 │ │ -0073c6: 1a10 1500 |00a7: const-string v16, "): " // string@0015 │ │ -0073ca: 7402 5a03 0f00 |00a9: invoke-virtual/range {v15, v16}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0073d0: 0c0f |00ac: move-result-object v15 │ │ -0073d2: 6e10 5b03 0f00 |00ad: invoke-virtual {v15}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -0073d8: 0c0f |00b0: move-result-object v15 │ │ -0073da: 6e20 5a03 f800 |00b1: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0073e0: 28b2 |00b4: goto 0066 // -004e │ │ -0073e2: 0d07 |00b5: move-exception v7 │ │ -0073e4: 220f f900 |00b6: new-instance v15, Ljava/lang/StringBuilder; // type@00f9 │ │ -0073e8: 7010 5303 0f00 |00b8: invoke-direct {v15}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -0073ee: 6e20 5a03 5f00 |00bb: invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0073f4: 0c0f |00be: move-result-object v15 │ │ -0073f6: 1a10 0500 |00bf: const-string v16, " directory stat threw an exception: " // string@0005 │ │ -0073fa: 7402 5a03 0f00 |00c1: invoke-virtual/range {v15, v16}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007400: 0c0f |00c4: move-result-object v15 │ │ -007402: 6e20 5903 7f00 |00c5: invoke-virtual {v15, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -007408: 0c0f |00c8: move-result-object v15 │ │ -00740a: 1a10 0100 |00c9: const-string v16, " │ │ +0097d4: 6e20 5a03 fe00 |0074: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +0097da: 0c0e |0077: move-result-object v14 │ │ +0097dc: 6e10 5b03 0e00 |0078: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +0097e2: 0c0e |007b: move-result-object v14 │ │ +0097e4: 6e20 5a03 e700 |007c: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +0097ea: d80c 0c01 |007f: add-int/lit8 v12, v12, #int 1 // #01 │ │ +0097ee: 28b4 |0081: goto 0035 // -004c │ │ +0097f0: 7401 2500 1100 |0082: invoke-virtual/range {v17}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0025 │ │ +0097f6: 0c0a |0085: move-result-object v10 │ │ +0097f8: 380a 0900 |0086: if-eqz v10, 008f // +0009 │ │ +0097fc: 52be 8400 |0088: iget v14, v11, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.uid:I // field@0084 │ │ +009800: 6e20 4600 ea00 |008a: invoke-virtual {v10, v14}, Landroid/content/pm/PackageManager;.getNameForUid:(I)Ljava/lang/String; // method@0046 │ │ +009806: 0c09 |008d: move-result-object v9 │ │ +009808: 28b6 |008e: goto 0044 // -004a │ │ +00980a: 1209 |008f: const/4 v9, #int 0 // #0 │ │ +00980c: 28fe |0090: goto 008e // -0002 │ │ +00980e: 0d06 |0091: move-exception v6 │ │ +009810: 6e10 2303 0600 |0092: invoke-virtual {v6}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0323 │ │ +009816: 0c09 |0095: move-result-object v9 │ │ +009818: 28ae |0096: goto 0044 // -0052 │ │ +00981a: 220e f900 |0097: new-instance v14, Ljava/lang/StringBuilder; // type@00f9 │ │ +00981e: 7010 5303 0e00 |0099: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +009824: 1a0f 1800 |009c: const-string v15, ", dir owner UID name: " // string@0018 │ │ +009828: 6e20 5a03 fe00 |009e: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00982e: 0c0e |00a1: move-result-object v14 │ │ +009830: 6e20 5a03 9e00 |00a2: invoke-virtual {v14, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009836: 0c0e |00a5: move-result-object v14 │ │ +009838: 1a0f 1500 |00a6: const-string v15, "): " // string@0015 │ │ +00983c: 6e20 5a03 fe00 |00a8: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009842: 0c0e |00ab: move-result-object v14 │ │ +009844: 6e10 5b03 0e00 |00ac: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00984a: 0c0e |00af: move-result-object v14 │ │ +00984c: 6e20 5a03 e700 |00b0: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009852: 28b2 |00b3: goto 0065 // -004e │ │ +009854: 0d06 |00b4: move-exception v6 │ │ +009856: 220e f900 |00b5: new-instance v14, Ljava/lang/StringBuilder; // type@00f9 │ │ +00985a: 7010 5303 0e00 |00b7: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +009860: 6e20 5a03 4e00 |00ba: invoke-virtual {v14, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009866: 0c0e |00bd: move-result-object v14 │ │ +009868: 1a0f 0500 |00be: const-string v15, " directory stat threw an exception: " // string@0005 │ │ +00986c: 6e20 5a03 fe00 |00c0: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009872: 0c0e |00c3: move-result-object v14 │ │ +009874: 6e20 5903 6e00 |00c4: invoke-virtual {v14, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00987a: 0c0e |00c7: move-result-object v14 │ │ +00987c: 1a0f 0100 |00c8: const-string v15, " │ │ " // string@0001 │ │ -00740e: 7402 5a03 0f00 |00cb: invoke-virtual/range {v15, v16}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007414: 0c0f |00ce: move-result-object v15 │ │ -007416: 6e10 5b03 0f00 |00cf: invoke-virtual {v15}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00741c: 0c0f |00d2: move-result-object v15 │ │ -00741e: 6e20 5a03 f800 |00d3: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007424: 28aa |00d6: goto 0080 // -0056 │ │ -007426: 6e10 5b03 0800 |00d7: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00742c: 0c0f |00da: move-result-object v15 │ │ -00742e: 110f |00db: return-object v15 │ │ +009880: 6e20 5a03 fe00 |00ca: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009886: 0c0e |00cd: move-result-object v14 │ │ +009888: 6e10 5b03 0e00 |00ce: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00988e: 0c0e |00d1: move-result-object v14 │ │ +009890: 6e20 5a03 e700 |00d2: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009896: 28aa |00d5: goto 007f // -0056 │ │ +009898: 6e10 5b03 0700 |00d6: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00989e: 0c0c |00d9: move-result-object v12 │ │ +0098a0: 110c |00da: return-object v12 │ │ catches : 5 │ │ - 0x003a - 0x003d │ │ - Ljava/io/IOException; -> 0x00b5 │ │ - 0x003f - 0x0045 │ │ - Ljava/lang/Exception; -> 0x0092 │ │ - Ljava/io/IOException; -> 0x00b5 │ │ - 0x0045 - 0x0080 │ │ - Ljava/io/IOException; -> 0x00b5 │ │ - 0x0083 - 0x008e │ │ - Ljava/lang/Exception; -> 0x0092 │ │ - Ljava/io/IOException; -> 0x00b5 │ │ - 0x0093 - 0x00b4 │ │ - Ljava/io/IOException; -> 0x00b5 │ │ + 0x0039 - 0x003c │ │ + Ljava/io/IOException; -> 0x00b4 │ │ + 0x003e - 0x0044 │ │ + Ljava/lang/Exception; -> 0x0091 │ │ + Ljava/io/IOException; -> 0x00b4 │ │ + 0x0044 - 0x007f │ │ + Ljava/io/IOException; -> 0x00b4 │ │ + 0x0082 - 0x008d │ │ + Ljava/lang/Exception; -> 0x0091 │ │ + Ljava/io/IOException; -> 0x00b4 │ │ + 0x0092 - 0x00b3 │ │ + Ljava/io/IOException; -> 0x00b4 │ │ positions : │ │ 0x0000 line=138 │ │ 0x0006 line=139 │ │ 0x0012 line=140 │ │ 0x001e line=141 │ │ 0x002a line=142 │ │ 0x002f line=143 │ │ 0x0033 line=144 │ │ - 0x003a line=146 │ │ - 0x003e line=147 │ │ - 0x003f line=149 │ │ - 0x0043 line=150 │ │ - 0x0045 line=158 │ │ - 0x005f line=159 │ │ - 0x0061 line=160 │ │ - 0x0066 line=164 │ │ - 0x0080 line=144 │ │ - 0x0083 line=152 │ │ - 0x0087 line=153 │ │ - 0x0092 line=155 │ │ - 0x0093 line=156 │ │ - 0x0098 line=162 │ │ - 0x00b5 line=165 │ │ - 0x00b6 line=166 │ │ - 0x00d7 line=169 │ │ - locals : │ │ - 0x003f - 0x0080 reg=12 ownerUidName Ljava/lang/String; │ │ - 0x003e - 0x0080 reg=14 stat Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ - 0x0087 - 0x0092 reg=13 packageManager Landroid/content/pm/PackageManager; │ │ - 0x0093 - 0x0098 reg=7 e Ljava/lang/Exception; │ │ - 0x0083 - 0x00b5 reg=12 ownerUidName Ljava/lang/String; │ │ - 0x0083 - 0x00b5 reg=14 stat Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ - 0x003a - 0x00d7 reg=5 directory Ljava/lang/String; │ │ - 0x00b6 - 0x00d7 reg=7 e Ljava/io/IOException; │ │ - 0x0034 - 0x00dc reg=1 arr$ [Ljava/lang/String; │ │ - 0x0006 - 0x00dc reg=2 dataPackageDir Ljava/lang/String; │ │ - 0x0012 - 0x00dc reg=3 databaseDirPathname Ljava/lang/String; │ │ - 0x001e - 0x00dc reg=4 databasePathname Ljava/lang/String; │ │ - 0x002a - 0x00dc reg=6 dirsToStat [Ljava/lang/String; │ │ - 0x002f - 0x00dc reg=8 error Ljava/lang/StringBuilder; │ │ - 0x0036 - 0x00dc reg=9 i$ I │ │ - 0x0035 - 0x00dc reg=10 len$ I │ │ - 0x0033 - 0x00dc reg=11 myUid I │ │ - 0x0000 - 0x00dc reg=17 this Lcom/google/android/apps/authenticator/AccountDb; │ │ - 0x0000 - 0x00dc reg=18 context Landroid/content/Context; │ │ + 0x0039 line=146 │ │ + 0x003d line=147 │ │ + 0x003e line=149 │ │ + 0x0042 line=150 │ │ + 0x0044 line=158 │ │ + 0x005e line=159 │ │ + 0x0060 line=160 │ │ + 0x0065 line=164 │ │ + 0x007f line=144 │ │ + 0x0082 line=152 │ │ + 0x0086 line=153 │ │ + 0x0091 line=155 │ │ + 0x0092 line=156 │ │ + 0x0097 line=162 │ │ + 0x00b4 line=165 │ │ + 0x00b5 line=166 │ │ + 0x00d6 line=169 │ │ + locals : │ │ + 0x003e - 0x007f reg=9 ownerUidName Ljava/lang/String; │ │ + 0x003d - 0x007f reg=11 stat Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ + 0x0086 - 0x0091 reg=10 packageManager Landroid/content/pm/PackageManager; │ │ + 0x0092 - 0x0097 reg=6 e Ljava/lang/Exception; │ │ + 0x0082 - 0x00b4 reg=9 ownerUidName Ljava/lang/String; │ │ + 0x0082 - 0x00b4 reg=11 stat Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ + 0x0039 - 0x00d6 reg=4 directory Ljava/lang/String; │ │ + 0x00b5 - 0x00d6 reg=6 e Ljava/io/IOException; │ │ + 0x0006 - 0x00db reg=1 dataPackageDir Ljava/lang/String; │ │ + 0x0012 - 0x00db reg=2 databaseDirPathname Ljava/lang/String; │ │ + 0x001e - 0x00db reg=3 databasePathname Ljava/lang/String; │ │ + 0x002a - 0x00db reg=5 dirsToStat [Ljava/lang/String; │ │ + 0x002f - 0x00db reg=7 error Ljava/lang/StringBuilder; │ │ + 0x0033 - 0x00db reg=8 myUid I │ │ + 0x0000 - 0x00db reg=16 this Lcom/google/android/apps/authenticator/AccountDb; │ │ + 0x0000 - 0x00db reg=17 context Landroid/content/Context; │ │ │ │ #6 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ name : 'getNames' │ │ type : '()Landroid/database/Cursor;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 9 │ │ insns size : 16 16-bit code units │ │ -007468: |[007468] com.google.android.apps.authenticator.AccountDb.getNames:()Landroid/database/Cursor; │ │ -007478: 1202 |0000: const/4 v2, #int 0 // #0 │ │ -00747a: 5490 1a00 |0001: iget-object v0, v9, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -00747e: 1a01 0703 |0003: const-string v1, "accounts" // string@0307 │ │ -007482: 0723 |0005: move-object v3, v2 │ │ -007484: 0724 |0006: move-object v4, v2 │ │ -007486: 0725 |0007: move-object v5, v2 │ │ -007488: 0726 |0008: move-object v6, v2 │ │ -00748a: 0727 |0009: move-object v7, v2 │ │ -00748c: 0728 |000a: move-object v8, v2 │ │ -00748e: 7409 5d00 0000 |000b: invoke-virtual/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Landroid/database/sqlite/SQLiteDatabase;.query:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; // method@005d │ │ -007494: 0c00 |000e: move-result-object v0 │ │ -007496: 1100 |000f: return-object v0 │ │ +0098dc: |[0098dc] com.google.android.apps.authenticator.AccountDb.getNames:()Landroid/database/Cursor; │ │ +0098ec: 1202 |0000: const/4 v2, #int 0 // #0 │ │ +0098ee: 5490 1a00 |0001: iget-object v0, v9, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +0098f2: 1a01 0403 |0003: const-string v1, "accounts" // string@0304 │ │ +0098f6: 0723 |0005: move-object v3, v2 │ │ +0098f8: 0724 |0006: move-object v4, v2 │ │ +0098fa: 0725 |0007: move-object v5, v2 │ │ +0098fc: 0726 |0008: move-object v6, v2 │ │ +0098fe: 0727 |0009: move-object v7, v2 │ │ +009900: 0728 |000a: move-object v8, v2 │ │ +009902: 7409 5d00 0000 |000b: invoke-virtual/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Landroid/database/sqlite/SQLiteDatabase;.query:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; // method@005d │ │ +009908: 0c00 |000e: move-result-object v0 │ │ +00990a: 1100 |000f: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=390 │ │ locals : │ │ 0x0000 - 0x0010 reg=9 this Lcom/google/android/apps/authenticator/AccountDb; │ │ │ │ #7 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ @@ -932,46 +823,46 @@ │ │ type : '(Ljava/lang/String;)Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;' │ │ access : 0x0008 (STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 60 16-bit code units │ │ -007498: |[007498] com.google.android.apps.authenticator.AccountDb.getSigningOracle:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; │ │ -0074a8: 7110 df00 0500 |0000: invoke-static {v5}, Lcom/google/android/apps/authenticator/AccountDb;.decodeKey:(Ljava/lang/String;)[B // method@00df │ │ -0074ae: 0c01 |0003: move-result-object v1 │ │ -0074b0: 1a03 9800 |0004: const-string v3, "HMACSHA1" // string@0098 │ │ -0074b4: 7110 7c03 0300 |0006: invoke-static {v3}, Ljavax/crypto/Mac;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac; // method@037c │ │ -0074ba: 0c02 |0009: move-result-object v2 │ │ -0074bc: 2203 1901 |000a: new-instance v3, Ljavax/crypto/spec/SecretKeySpec; // type@0119 │ │ -0074c0: 1a04 0000 |000c: const-string v4, "" // string@0000 │ │ -0074c4: 7030 7e03 1304 |000e: invoke-direct {v3, v1, v4}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@037e │ │ -0074ca: 6e20 7d03 3200 |0011: invoke-virtual {v2, v3}, Ljavax/crypto/Mac;.init:(Ljava/security/Key;)V // method@037d │ │ -0074d0: 2203 6000 |0014: new-instance v3, Lcom/google/android/apps/authenticator/AccountDb$1; // type@0060 │ │ -0074d4: 7020 d200 2300 |0016: invoke-direct {v3, v2}, Lcom/google/android/apps/authenticator/AccountDb$1;.:(Ljavax/crypto/Mac;)V // method@00d2 │ │ -0074da: 1103 |0019: return-object v3 │ │ -0074dc: 0d00 |001a: move-exception v0 │ │ -0074de: 1a03 9600 |001b: const-string v3, "GoogleAuthenticator.AccountDb" // string@0096 │ │ -0074e2: 6e10 8901 0000 |001d: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/Base32String$DecodingException;.getMessage:()Ljava/lang/String; // method@0189 │ │ -0074e8: 0c04 |0020: move-result-object v4 │ │ -0074ea: 7120 9800 4300 |0021: invoke-static {v3, v4}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -0074f0: 1203 |0024: const/4 v3, #int 0 // #0 │ │ -0074f2: 28f4 |0025: goto 0019 // -000c │ │ -0074f4: 0d00 |0026: move-exception v0 │ │ -0074f6: 1a03 9600 |0027: const-string v3, "GoogleAuthenticator.AccountDb" // string@0096 │ │ -0074fa: 6e10 6603 0000 |0029: invoke-virtual {v0}, Ljava/security/NoSuchAlgorithmException;.getMessage:()Ljava/lang/String; // method@0366 │ │ -007500: 0c04 |002c: move-result-object v4 │ │ -007502: 7120 9800 4300 |002d: invoke-static {v3, v4}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -007508: 28f4 |0030: goto 0024 // -000c │ │ -00750a: 0d00 |0031: move-exception v0 │ │ -00750c: 1a03 9600 |0032: const-string v3, "GoogleAuthenticator.AccountDb" // string@0096 │ │ -007510: 6e10 6503 0000 |0034: invoke-virtual {v0}, Ljava/security/InvalidKeyException;.getMessage:()Ljava/lang/String; // method@0365 │ │ -007516: 0c04 |0037: move-result-object v4 │ │ -007518: 7120 9800 4300 |0038: invoke-static {v3, v4}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -00751e: 28e9 |003b: goto 0024 // -0017 │ │ +00990c: |[00990c] com.google.android.apps.authenticator.AccountDb.getSigningOracle:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; │ │ +00991c: 7110 df00 0500 |0000: invoke-static {v5}, Lcom/google/android/apps/authenticator/AccountDb;.decodeKey:(Ljava/lang/String;)[B // method@00df │ │ +009922: 0c01 |0003: move-result-object v1 │ │ +009924: 1a03 9800 |0004: const-string v3, "HMACSHA1" // string@0098 │ │ +009928: 7110 7c03 0300 |0006: invoke-static {v3}, Ljavax/crypto/Mac;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac; // method@037c │ │ +00992e: 0c02 |0009: move-result-object v2 │ │ +009930: 2203 1901 |000a: new-instance v3, Ljavax/crypto/spec/SecretKeySpec; // type@0119 │ │ +009934: 1a04 0000 |000c: const-string v4, "" // string@0000 │ │ +009938: 7030 7e03 1304 |000e: invoke-direct {v3, v1, v4}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@037e │ │ +00993e: 6e20 7d03 3200 |0011: invoke-virtual {v2, v3}, Ljavax/crypto/Mac;.init:(Ljava/security/Key;)V // method@037d │ │ +009944: 2203 6000 |0014: new-instance v3, Lcom/google/android/apps/authenticator/AccountDb$1; // type@0060 │ │ +009948: 7020 d200 2300 |0016: invoke-direct {v3, v2}, Lcom/google/android/apps/authenticator/AccountDb$1;.:(Ljavax/crypto/Mac;)V // method@00d2 │ │ +00994e: 1103 |0019: return-object v3 │ │ +009950: 0d00 |001a: move-exception v0 │ │ +009952: 1a03 9600 |001b: const-string v3, "GoogleAuthenticator.AccountDb" // string@0096 │ │ +009956: 6e10 8901 0000 |001d: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/Base32String$DecodingException;.getMessage:()Ljava/lang/String; // method@0189 │ │ +00995c: 0c04 |0020: move-result-object v4 │ │ +00995e: 7120 9800 4300 |0021: invoke-static {v3, v4}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +009964: 1203 |0024: const/4 v3, #int 0 // #0 │ │ +009966: 28f4 |0025: goto 0019 // -000c │ │ +009968: 0d00 |0026: move-exception v0 │ │ +00996a: 1a03 9600 |0027: const-string v3, "GoogleAuthenticator.AccountDb" // string@0096 │ │ +00996e: 6e10 6603 0000 |0029: invoke-virtual {v0}, Ljava/security/NoSuchAlgorithmException;.getMessage:()Ljava/lang/String; // method@0366 │ │ +009974: 0c04 |002c: move-result-object v4 │ │ +009976: 7120 9800 4300 |002d: invoke-static {v3, v4}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +00997c: 28f4 |0030: goto 0024 // -000c │ │ +00997e: 0d00 |0031: move-exception v0 │ │ +009980: 1a03 9600 |0032: const-string v3, "GoogleAuthenticator.AccountDb" // string@0096 │ │ +009984: 6e10 6503 0000 |0034: invoke-virtual {v0}, Ljava/security/InvalidKeyException;.getMessage:()Ljava/lang/String; // method@0365 │ │ +00998a: 0c04 |0037: move-result-object v4 │ │ +00998c: 7120 9800 4300 |0038: invoke-static {v3, v4}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +009992: 28e9 |003b: goto 0024 // -0017 │ │ catches : 1 │ │ 0x0000 - 0x0019 │ │ Lcom/google/android/apps/authenticator/Base32String$DecodingException; -> 0x001a │ │ Ljava/security/NoSuchAlgorithmException; -> 0x0026 │ │ Ljava/security/InvalidKeyException; -> 0x0031 │ │ positions : │ │ 0x0000 line=240 │ │ @@ -999,20 +890,20 @@ │ │ type : '()Ljava/util/Collection;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -007534: |[007534] com.google.android.apps.authenticator.AccountDb.listTableColumnNamesLowerCase:()Ljava/util/Collection; │ │ -007544: 5420 1a00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -007548: 1a01 0703 |0002: const-string v1, "accounts" // string@0307 │ │ -00754c: 7120 ee00 1000 |0004: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/AccountDb;.listTableColumnNamesLowerCase:(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Ljava/util/Collection; // method@00ee │ │ -007552: 0c00 |0007: move-result-object v0 │ │ -007554: 1100 |0008: return-object v0 │ │ +0099a8: |[0099a8] com.google.android.apps.authenticator.AccountDb.listTableColumnNamesLowerCase:()Ljava/util/Collection; │ │ +0099b8: 5420 1a00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +0099bc: 1a01 0403 |0002: const-string v1, "accounts" // string@0304 │ │ +0099c0: 7120 ee00 1000 |0004: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/AccountDb;.listTableColumnNamesLowerCase:(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Ljava/util/Collection; // method@00ee │ │ +0099c6: 0c00 |0007: move-result-object v0 │ │ +0099c8: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=205 │ │ locals : │ │ 0x0000 - 0x0009 reg=2 this Lcom/google/android/apps/authenticator/AccountDb; │ │ │ │ #9 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ @@ -1020,57 +911,59 @@ │ │ type : '(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Ljava/util/Collection;' │ │ access : 0x0008 (STATIC) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 60 16-bit code units │ │ -007558: |[007558] com.google.android.apps.authenticator.AccountDb.listTableColumnNamesLowerCase:(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Ljava/util/Collection; │ │ -007568: 1205 |0000: const/4 v5, #int 0 // #0 │ │ -00756a: 1a03 4402 |0001: const-string v3, "PRAGMA table_info(%s)" // string@0244 │ │ -00756e: 1214 |0003: const/4 v4, #int 1 // #1 │ │ -007570: 2344 3601 |0004: new-array v4, v4, [Ljava/lang/Object; // type@0136 │ │ -007574: 4d07 0405 |0006: aput-object v7, v4, v5 │ │ -007578: 7120 4503 4300 |0008: invoke-static {v3, v4}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ -00757e: 0c03 |000b: move-result-object v3 │ │ -007580: 2354 3701 |000c: new-array v4, v5, [Ljava/lang/String; // type@0137 │ │ -007584: 6e30 5e00 3604 |000e: invoke-virtual {v6, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;.rawQuery:(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; // method@005e │ │ -00758a: 0c00 |0011: move-result-object v0 │ │ -00758c: 2202 0b01 |0012: new-instance v2, Ljava/util/ArrayList; // type@010b │ │ -007590: 7010 6703 0200 |0014: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@0367 │ │ -007596: 3800 2100 |0017: if-eqz v0, 0038 // +0021 │ │ -00759a: 1a03 3c05 |0019: const-string v3, "name" // string@053c │ │ -00759e: 7220 4f00 3000 |001b: invoke-interface {v0, v3}, Landroid/database/Cursor;.getColumnIndexOrThrow:(Ljava/lang/String;)I // method@004f │ │ -0075a4: 0a01 |001e: move-result v1 │ │ -0075a6: 7210 5500 0000 |001f: invoke-interface {v0}, Landroid/database/Cursor;.moveToNext:()Z // method@0055 │ │ -0075ac: 0a03 |0022: move-result v3 │ │ -0075ae: 3803 1500 |0023: if-eqz v3, 0038 // +0015 │ │ -0075b2: 7220 5200 1000 |0025: invoke-interface {v0, v1}, Landroid/database/Cursor;.getString:(I)Ljava/lang/String; // method@0052 │ │ -0075b8: 0c03 |0028: move-result-object v3 │ │ -0075ba: 6204 cc01 |0029: sget-object v4, Ljava/util/Locale;.US:Ljava/util/Locale; // field@01cc │ │ -0075be: 6e20 4f03 4300 |002b: invoke-virtual {v3, v4}, Ljava/lang/String;.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String; // method@034f │ │ -0075c4: 0c03 |002e: move-result-object v3 │ │ -0075c6: 7220 6b03 3200 |002f: invoke-interface {v2, v3}, Ljava/util/Collection;.add:(Ljava/lang/Object;)Z // method@036b │ │ -0075cc: 28ed |0032: goto 001f // -0013 │ │ -0075ce: 0d03 |0033: move-exception v3 │ │ -0075d0: 7110 f200 0000 |0034: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -0075d6: 2703 |0037: throw v3 │ │ -0075d8: 7110 f200 0000 |0038: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -0075de: 1102 |003b: return-object v2 │ │ +0099cc: |[0099cc] com.google.android.apps.authenticator.AccountDb.listTableColumnNamesLowerCase:(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Ljava/util/Collection; │ │ +0099dc: 1205 |0000: const/4 v5, #int 0 // #0 │ │ +0099de: 1a03 4102 |0001: const-string v3, "PRAGMA table_info(%s)" // string@0241 │ │ +0099e2: 1214 |0003: const/4 v4, #int 1 // #1 │ │ +0099e4: 2344 3601 |0004: new-array v4, v4, [Ljava/lang/Object; // type@0136 │ │ +0099e8: 4d07 0405 |0006: aput-object v7, v4, v5 │ │ +0099ec: 7120 4503 4300 |0008: invoke-static {v3, v4}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ +0099f2: 0c03 |000b: move-result-object v3 │ │ +0099f4: 2354 3701 |000c: new-array v4, v5, [Ljava/lang/String; // type@0137 │ │ +0099f8: 6e30 5e00 3604 |000e: invoke-virtual {v6, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;.rawQuery:(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; // method@005e │ │ +0099fe: 0c00 |0011: move-result-object v0 │ │ +009a00: 2202 0b01 |0012: new-instance v2, Ljava/util/ArrayList; // type@010b │ │ +009a04: 7010 6703 0200 |0014: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@0367 │ │ +009a0a: 3800 2100 |0017: if-eqz v0, 0038 // +0021 │ │ +009a0e: 1a03 3605 |0019: const-string v3, "name" // string@0536 │ │ +009a12: 7220 4f00 3000 |001b: invoke-interface {v0, v3}, Landroid/database/Cursor;.getColumnIndexOrThrow:(Ljava/lang/String;)I // method@004f │ │ +009a18: 0a01 |001e: move-result v1 │ │ +009a1a: 7210 5500 0000 |001f: invoke-interface {v0}, Landroid/database/Cursor;.moveToNext:()Z // method@0055 │ │ +009a20: 0a03 |0022: move-result v3 │ │ +009a22: 3803 1500 |0023: if-eqz v3, 0038 // +0015 │ │ +009a26: 7220 5200 1000 |0025: invoke-interface {v0, v1}, Landroid/database/Cursor;.getString:(I)Ljava/lang/String; // method@0052 │ │ +009a2c: 0c03 |0028: move-result-object v3 │ │ +009a2e: 6204 cc01 |0029: sget-object v4, Ljava/util/Locale;.US:Ljava/util/Locale; // field@01cc │ │ +009a32: 6e20 4f03 4300 |002b: invoke-virtual {v3, v4}, Ljava/lang/String;.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String; // method@034f │ │ +009a38: 0c03 |002e: move-result-object v3 │ │ +009a3a: 7220 6b03 3200 |002f: invoke-interface {v2, v3}, Ljava/util/Collection;.add:(Ljava/lang/Object;)Z // method@036b │ │ +009a40: 28ed |0032: goto 001f // -0013 │ │ +009a42: 0d03 |0033: move-exception v3 │ │ +009a44: 7110 f200 0000 |0034: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009a4a: 2703 |0037: throw v3 │ │ +009a4c: 7110 f200 0000 |0038: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009a52: 1102 |003b: return-object v2 │ │ catches : 1 │ │ 0x0019 - 0x0032 │ │ -> 0x0033 │ │ positions : │ │ 0x0001 line=185 │ │ + 0x0008 line=186 │ │ 0x0012 line=187 │ │ 0x0017 line=189 │ │ 0x0019 line=190 │ │ 0x001f line=191 │ │ 0x0025 line=192 │ │ 0x0033 line=197 │ │ + 0x003b line=195 │ │ locals : │ │ 0x001f - 0x0033 reg=1 nameColumnIndex I │ │ 0x0012 - 0x003c reg=0 cursor Landroid/database/Cursor; │ │ 0x0017 - 0x003c reg=2 result Ljava/util/Collection; Ljava/util/Collection; │ │ 0x0000 - 0x003c reg=6 database Landroid/database/sqlite/SQLiteDatabase; │ │ 0x0000 - 0x003c reg=7 tableName Ljava/lang/String; │ │ │ │ @@ -1079,52 +972,53 @@ │ │ type : '(Landroid/content/Context;)Landroid/database/sqlite/SQLiteDatabase;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 46 16-bit code units │ │ -0075ec: |[0075ec] com.google.android.apps.authenticator.AccountDb.openDatabase:(Landroid/content/Context;)Landroid/database/sqlite/SQLiteDatabase; │ │ -0075fc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0075fe: 1a02 b803 |0001: const-string v2, "databases" // string@03b8 │ │ -007602: 1203 |0003: const/4 v3, #int 0 // #0 │ │ -007604: 1204 |0004: const/4 v4, #int 0 // #0 │ │ -007606: 6e40 2a00 2643 |0005: invoke-virtual {v6, v2, v3, v4}, Landroid/content/Context;.openOrCreateDatabase:(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase; // method@002a │ │ -00760c: 0c02 |0008: move-result-object v2 │ │ -00760e: 1102 |0009: return-object v2 │ │ -007610: 0d01 |000a: move-exception v1 │ │ -007612: 1222 |000b: const/4 v2, #int 2 // #2 │ │ -007614: 3520 0500 |000c: if-ge v0, v2, 0011 // +0005 │ │ -007618: d800 0001 |000e: add-int/lit8 v0, v0, #int 1 // #01 │ │ -00761c: 28f1 |0010: goto 0001 // -000f │ │ -00761e: 2202 6100 |0011: new-instance v2, Lcom/google/android/apps/authenticator/AccountDb$AccountDbOpenException; // type@0061 │ │ -007622: 2203 f900 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -007626: 7010 5303 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00762c: 1a04 8e00 |0018: const-string v4, "Failed to open AccountDb database in three tries. │ │ +009a60: |[009a60] com.google.android.apps.authenticator.AccountDb.openDatabase:(Landroid/content/Context;)Landroid/database/sqlite/SQLiteDatabase; │ │ +009a70: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +009a72: 1a02 b403 |0001: const-string v2, "databases" // string@03b4 │ │ +009a76: 1203 |0003: const/4 v3, #int 0 // #0 │ │ +009a78: 1204 |0004: const/4 v4, #int 0 // #0 │ │ +009a7a: 6e40 2a00 2643 |0005: invoke-virtual {v6, v2, v3, v4}, Landroid/content/Context;.openOrCreateDatabase:(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase; // method@002a │ │ +009a80: 0c02 |0008: move-result-object v2 │ │ +009a82: 1102 |0009: return-object v2 │ │ +009a84: 0d01 |000a: move-exception v1 │ │ +009a86: 1222 |000b: const/4 v2, #int 2 // #2 │ │ +009a88: 3520 0500 |000c: if-ge v0, v2, 0011 // +0005 │ │ +009a8c: d800 0001 |000e: add-int/lit8 v0, v0, #int 1 // #01 │ │ +009a90: 28f1 |0010: goto 0001 // -000f │ │ +009a92: 2202 6100 |0011: new-instance v2, Lcom/google/android/apps/authenticator/AccountDb$AccountDbOpenException; // type@0061 │ │ +009a96: 2203 f900 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +009a9a: 7010 5303 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +009aa0: 1a04 8e00 |0018: const-string v4, "Failed to open AccountDb database in three tries. │ │ " // string@008e │ │ -007630: 6e20 5a03 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007636: 0c03 |001d: move-result-object v3 │ │ -007638: 7020 e400 6500 |001e: invoke-direct {v5, v6}, Lcom/google/android/apps/authenticator/AccountDb;.getAccountDbOpenFailedErrorString:(Landroid/content/Context;)Ljava/lang/String; // method@00e4 │ │ -00763e: 0c04 |0021: move-result-object v4 │ │ -007640: 6e20 5a03 4300 |0022: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -007646: 0c03 |0025: move-result-object v3 │ │ -007648: 6e10 5b03 0300 |0026: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00764e: 0c03 |0029: move-result-object v3 │ │ -007650: 7030 d400 3201 |002a: invoke-direct {v2, v3, v1}, Lcom/google/android/apps/authenticator/AccountDb$AccountDbOpenException;.:(Ljava/lang/String;Ljava/lang/Exception;)V // method@00d4 │ │ -007656: 2702 |002d: throw v2 │ │ +009aa4: 6e20 5a03 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009aaa: 0c03 |001d: move-result-object v3 │ │ +009aac: 7020 e400 6500 |001e: invoke-direct {v5, v6}, Lcom/google/android/apps/authenticator/AccountDb;.getAccountDbOpenFailedErrorString:(Landroid/content/Context;)Ljava/lang/String; // method@00e4 │ │ +009ab2: 0c04 |0021: move-result-object v4 │ │ +009ab4: 6e20 5a03 4300 |0022: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009aba: 0c03 |0025: move-result-object v3 │ │ +009abc: 6e10 5b03 0300 |0026: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +009ac2: 0c03 |0029: move-result-object v3 │ │ +009ac4: 7030 d400 3201 |002a: invoke-direct {v2, v3, v1}, Lcom/google/android/apps/authenticator/AccountDb$AccountDbOpenException;.:(Ljava/lang/String;Ljava/lang/Exception;)V // method@00d4 │ │ +009aca: 2702 |002d: throw v2 │ │ catches : 1 │ │ 0x0001 - 0x0008 │ │ Landroid/database/sqlite/SQLiteException; -> 0x000a │ │ positions : │ │ 0x0000 line=123 │ │ 0x0001 line=125 │ │ 0x000a line=126 │ │ 0x000b line=127 │ │ 0x000e line=123 │ │ 0x0011 line=130 │ │ + 0x001e line=131 │ │ locals : │ │ 0x0001 - 0x002e reg=0 count I │ │ 0x000b - 0x002e reg=1 e Landroid/database/sqlite/SQLiteException; │ │ 0x0000 - 0x002e reg=5 this Lcom/google/android/apps/authenticator/AccountDb; │ │ 0x0000 - 0x002e reg=6 context Landroid/content/Context; │ │ │ │ #11 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ @@ -1132,21 +1026,21 @@ │ │ type : '(Landroid/database/Cursor;)V' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -007664: |[007664] com.google.android.apps.authenticator.AccountDb.tryCloseCursor:(Landroid/database/Cursor;)V │ │ -007674: 3801 0b00 |0000: if-eqz v1, 000b // +000b │ │ -007678: 7210 5300 0100 |0002: invoke-interface {v1}, Landroid/database/Cursor;.isClosed:()Z // method@0053 │ │ -00767e: 0a00 |0005: move-result v0 │ │ -007680: 3900 0500 |0006: if-nez v0, 000b // +0005 │ │ -007684: 7210 4d00 0100 |0008: invoke-interface {v1}, Landroid/database/Cursor;.close:()V // method@004d │ │ -00768a: 0e00 |000b: return-void │ │ +009ad8: |[009ad8] com.google.android.apps.authenticator.AccountDb.tryCloseCursor:(Landroid/database/Cursor;)V │ │ +009ae8: 3801 0b00 |0000: if-eqz v1, 000b // +000b │ │ +009aec: 7210 5300 0100 |0002: invoke-interface {v1}, Landroid/database/Cursor;.isClosed:()Z // method@0053 │ │ +009af2: 0a00 |0005: move-result v0 │ │ +009af4: 3900 0500 |0006: if-nez v0, 000b // +0005 │ │ +009af8: 7210 4d00 0100 |0008: invoke-interface {v1}, Landroid/database/Cursor;.close:()V // method@004d │ │ +009afe: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=409 │ │ 0x0008 line=410 │ │ 0x000b line=412 │ │ locals : │ │ 0x0000 - 0x000c reg=1 c Landroid/database/Cursor; │ │ @@ -1156,27 +1050,27 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 24 16-bit code units │ │ -00768c: |[00768c] com.google.android.apps.authenticator.AccountDb.whereClause:(Ljava/lang/String;)Ljava/lang/String; │ │ -00769c: 2200 f900 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@00f9 │ │ -0076a0: 7010 5303 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -0076a6: 1a01 db03 |0005: const-string v1, "email = " // string@03db │ │ -0076aa: 6e20 5a03 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0076b0: 0c00 |000a: move-result-object v0 │ │ -0076b2: 7110 5700 0200 |000b: invoke-static {v2}, Landroid/database/DatabaseUtils;.sqlEscapeString:(Ljava/lang/String;)Ljava/lang/String; // method@0057 │ │ -0076b8: 0c01 |000e: move-result-object v1 │ │ -0076ba: 6e20 5a03 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0076c0: 0c00 |0012: move-result-object v0 │ │ -0076c2: 6e10 5b03 0000 |0013: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -0076c8: 0c00 |0016: move-result-object v0 │ │ -0076ca: 1100 |0017: return-object v0 │ │ +009b00: |[009b00] com.google.android.apps.authenticator.AccountDb.whereClause:(Ljava/lang/String;)Ljava/lang/String; │ │ +009b10: 2200 f900 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@00f9 │ │ +009b14: 7010 5303 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +009b1a: 1a01 d703 |0005: const-string v1, "email = " // string@03d7 │ │ +009b1e: 6e20 5a03 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009b24: 0c00 |000a: move-result-object v0 │ │ +009b26: 7110 5700 0200 |000b: invoke-static {v2}, Landroid/database/DatabaseUtils;.sqlEscapeString:(Ljava/lang/String;)Ljava/lang/String; // method@0057 │ │ +009b2c: 0c01 |000e: move-result-object v1 │ │ +009b2e: 6e20 5a03 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +009b34: 0c00 |0012: move-result-object v0 │ │ +009b36: 6e10 5b03 0000 |0013: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +009b3c: 0c00 |0016: move-result-object v0 │ │ +009b3e: 1100 |0017: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=340 │ │ locals : │ │ 0x0000 - 0x0018 reg=2 email Ljava/lang/String; │ │ │ │ Virtual methods - │ │ @@ -1185,18 +1079,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0076cc: |[0076cc] com.google.android.apps.authenticator.AccountDb.close:()V │ │ -0076dc: 5410 1a00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -0076e0: 6e10 5800 0000 |0002: invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;.close:()V // method@0058 │ │ -0076e6: 0e00 |0005: return-void │ │ +009b40: |[009b40] com.google.android.apps.authenticator.AccountDb.close:()V │ │ +009b50: 5410 1a00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +009b54: 6e10 5800 0000 |0002: invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;.close:()V // method@0058 │ │ +009b5a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=176 │ │ 0x0005 line=177 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/AccountDb; │ │ │ │ @@ -1205,22 +1099,22 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 13 16-bit code units │ │ -0076e8: |[0076e8] com.google.android.apps.authenticator.AccountDb.delete:(Ljava/lang/String;)V │ │ -0076f8: 5440 1a00 |0000: iget-object v0, v4, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -0076fc: 1a01 0703 |0002: const-string v1, "accounts" // string@0307 │ │ -007700: 7110 f500 0500 |0004: invoke-static {v5}, Lcom/google/android/apps/authenticator/AccountDb;.whereClause:(Ljava/lang/String;)Ljava/lang/String; // method@00f5 │ │ -007706: 0c02 |0007: move-result-object v2 │ │ -007708: 1203 |0008: const/4 v3, #int 0 // #0 │ │ -00770a: 6e40 5900 1032 |0009: invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;.delete:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I // method@0059 │ │ -007710: 0e00 |000c: return-void │ │ +009b5c: |[009b5c] com.google.android.apps.authenticator.AccountDb.delete:(Ljava/lang/String;)V │ │ +009b6c: 5440 1a00 |0000: iget-object v0, v4, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +009b70: 1a01 0403 |0002: const-string v1, "accounts" // string@0304 │ │ +009b74: 7110 f500 0500 |0004: invoke-static {v5}, Lcom/google/android/apps/authenticator/AccountDb;.whereClause:(Ljava/lang/String;)Ljava/lang/String; // method@00f5 │ │ +009b7a: 0c02 |0007: move-result-object v2 │ │ +009b7c: 1203 |0008: const/4 v3, #int 0 // #0 │ │ +009b7e: 6e40 5900 1032 |0009: invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;.delete:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I // method@0059 │ │ +009b84: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=344 │ │ 0x000c line=345 │ │ locals : │ │ 0x0000 - 0x000d reg=4 this Lcom/google/android/apps/authenticator/AccountDb; │ │ 0x0000 - 0x000d reg=5 email Ljava/lang/String; │ │ @@ -1230,21 +1124,21 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 10 16-bit code units │ │ -007714: |[007714] com.google.android.apps.authenticator.AccountDb.deleteAllData:()Z │ │ -007724: 1202 |0000: const/4 v2, #int 0 // #0 │ │ -007726: 5430 1a00 |0001: iget-object v0, v3, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -00772a: 1a01 0703 |0003: const-string v1, "accounts" // string@0307 │ │ -00772e: 6e40 5900 1022 |0005: invoke-virtual {v0, v1, v2, v2}, Landroid/database/sqlite/SQLiteDatabase;.delete:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I // method@0059 │ │ -007734: 1210 |0008: const/4 v0, #int 1 // #1 │ │ -007736: 0f00 |0009: return v0 │ │ +009b88: |[009b88] com.google.android.apps.authenticator.AccountDb.deleteAllData:()Z │ │ +009b98: 1202 |0000: const/4 v2, #int 0 // #0 │ │ +009b9a: 5430 1a00 |0001: iget-object v0, v3, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +009b9e: 1a01 0403 |0003: const-string v1, "accounts" // string@0304 │ │ +009ba2: 6e40 5900 1022 |0005: invoke-virtual {v0, v1, v2, v2}, Landroid/database/sqlite/SQLiteDatabase;.delete:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I // method@0059 │ │ +009ba8: 1210 |0008: const/4 v0, #int 1 // #1 │ │ +009baa: 0f00 |0009: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=212 │ │ 0x0008 line=213 │ │ locals : │ │ 0x0000 - 0x000a reg=3 this Lcom/google/android/apps/authenticator/AccountDb; │ │ │ │ @@ -1253,23 +1147,23 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 13 16-bit code units │ │ -007738: |[007738] com.google.android.apps.authenticator.AccountDb.findGoogleCorpAccount:()Ljava/lang/String; │ │ -007748: 1a00 9500 |0000: const-string v0, "Google Internal 2Factor" // string@0095 │ │ -00774c: 6e20 ef00 0100 |0002: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/AccountDb;.nameExists:(Ljava/lang/String;)Z // method@00ef │ │ -007752: 0a00 |0005: move-result v0 │ │ -007754: 3800 0500 |0006: if-eqz v0, 000b // +0005 │ │ -007758: 1a00 9500 |0008: const-string v0, "Google Internal 2Factor" // string@0095 │ │ -00775c: 1100 |000a: return-object v0 │ │ -00775e: 1200 |000b: const/4 v0, #int 0 // #0 │ │ -007760: 28fe |000c: goto 000a // -0002 │ │ +009bac: |[009bac] com.google.android.apps.authenticator.AccountDb.findGoogleCorpAccount:()Ljava/lang/String; │ │ +009bbc: 1a00 9500 |0000: const-string v0, "Google Internal 2Factor" // string@0095 │ │ +009bc0: 6e20 ef00 0100 |0002: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/AccountDb;.nameExists:(Ljava/lang/String;)Z // method@00ef │ │ +009bc6: 0a00 |0005: move-result v0 │ │ +009bc8: 3800 0500 |0006: if-eqz v0, 000b // +0005 │ │ +009bcc: 1a00 9500 |0008: const-string v0, "Google Internal 2Factor" // string@0095 │ │ +009bd0: 1100 |000a: return-object v0 │ │ +009bd2: 1200 |000b: const/4 v0, #int 0 // #0 │ │ +009bd4: 28fe |000c: goto 000a // -0002 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=336 │ │ locals : │ │ 0x0000 - 0x000d reg=1 this Lcom/google/android/apps/authenticator/AccountDb; │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ @@ -1277,36 +1171,36 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/Integer;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -007764: |[007764] com.google.android.apps.authenticator.AccountDb.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; │ │ -007774: 7020 e300 3200 |0000: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ -00777a: 0c00 |0003: move-result-object v0 │ │ -00777c: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ -007782: 0a01 |0007: move-result v1 │ │ -007784: 3901 1700 |0008: if-nez v1, 001f // +0017 │ │ -007788: 7210 5400 0000 |000a: invoke-interface {v0}, Landroid/database/Cursor;.moveToFirst:()Z // method@0054 │ │ -00778e: 1a01 9803 |000d: const-string v1, "counter" // string@0398 │ │ -007792: 7220 4e00 1000 |000f: invoke-interface {v0, v1}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ -007798: 0a01 |0012: move-result v1 │ │ -00779a: 7220 5100 1000 |0013: invoke-interface {v0, v1}, Landroid/database/Cursor;.getInt:(I)I // method@0051 │ │ -0077a0: 0a01 |0016: move-result v1 │ │ -0077a2: 7110 3203 0100 |0017: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -0077a8: 0c01 |001a: move-result-object v1 │ │ -0077aa: 7110 f200 0000 |001b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -0077b0: 1101 |001e: return-object v1 │ │ -0077b2: 7110 f200 0000 |001f: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -0077b8: 1201 |0022: const/4 v1, #int 0 // #0 │ │ -0077ba: 28fb |0023: goto 001e // -0005 │ │ -0077bc: 0d01 |0024: move-exception v1 │ │ -0077be: 7110 f200 0000 |0025: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -0077c4: 2701 |0028: throw v1 │ │ +009bd8: |[009bd8] com.google.android.apps.authenticator.AccountDb.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; │ │ +009be8: 7020 e300 3200 |0000: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ +009bee: 0c00 |0003: move-result-object v0 │ │ +009bf0: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ +009bf6: 0a01 |0007: move-result v1 │ │ +009bf8: 3901 1700 |0008: if-nez v1, 001f // +0017 │ │ +009bfc: 7210 5400 0000 |000a: invoke-interface {v0}, Landroid/database/Cursor;.moveToFirst:()Z // method@0054 │ │ +009c02: 1a01 9403 |000d: const-string v1, "counter" // string@0394 │ │ +009c06: 7220 4e00 1000 |000f: invoke-interface {v0, v1}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ +009c0c: 0a01 |0012: move-result v1 │ │ +009c0e: 7220 5100 1000 |0013: invoke-interface {v0, v1}, Landroid/database/Cursor;.getInt:(I)I // method@0051 │ │ +009c14: 0a01 |0016: move-result v1 │ │ +009c16: 7110 3203 0100 |0017: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +009c1c: 0c01 |001a: move-result-object v1 │ │ +009c1e: 7110 f200 0000 |001b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009c24: 1101 |001e: return-object v1 │ │ +009c26: 7110 f200 0000 |001f: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009c2c: 1201 |0022: const/4 v1, #int 0 // #0 │ │ +009c2e: 28fb |0023: goto 001e // -0005 │ │ +009c30: 0d01 |0024: move-exception v1 │ │ +009c32: 7110 f200 0000 |0025: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009c38: 2701 |0028: throw v1 │ │ catches : 1 │ │ 0x0004 - 0x001a │ │ -> 0x0024 │ │ positions : │ │ 0x0000 line=267 │ │ 0x0004 line=269 │ │ 0x000a line=270 │ │ @@ -1326,51 +1220,52 @@ │ │ type : '(Ljava/util/Collection;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -0077d4: |[0077d4] com.google.android.apps.authenticator.AccountDb.getNames:(Ljava/util/Collection;)I │ │ -0077e4: 7010 e700 0600 |0000: invoke-direct {v6}, Lcom/google/android/apps/authenticator/AccountDb;.getNames:()Landroid/database/Cursor; // method@00e7 │ │ -0077ea: 0c00 |0003: move-result-object v0 │ │ -0077ec: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ -0077f2: 0a05 |0007: move-result v5 │ │ -0077f4: 3805 0700 |0008: if-eqz v5, 000f // +0007 │ │ -0077f8: 1203 |000a: const/4 v3, #int 0 // #0 │ │ -0077fa: 7110 f200 0000 |000b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -007800: 0f03 |000e: return v3 │ │ -007802: 7210 5000 0000 |000f: invoke-interface {v0}, Landroid/database/Cursor;.getCount:()I // method@0050 │ │ -007808: 0a03 |0012: move-result v3 │ │ -00780a: 1a05 da03 |0013: const-string v5, "email" // string@03da │ │ -00780e: 7220 4e00 5000 |0015: invoke-interface {v0, v5}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ -007814: 0a02 |0018: move-result v2 │ │ -007816: 1201 |0019: const/4 v1, #int 0 // #0 │ │ -007818: 3531 0f00 |001a: if-ge v1, v3, 0029 // +000f │ │ -00781c: 7220 5600 1000 |001c: invoke-interface {v0, v1}, Landroid/database/Cursor;.moveToPosition:(I)Z // method@0056 │ │ -007822: 7220 5200 2000 |001f: invoke-interface {v0, v2}, Landroid/database/Cursor;.getString:(I)Ljava/lang/String; // method@0052 │ │ -007828: 0c04 |0022: move-result-object v4 │ │ -00782a: 7220 6b03 4700 |0023: invoke-interface {v7, v4}, Ljava/util/Collection;.add:(Ljava/lang/Object;)Z // method@036b │ │ -007830: d801 0101 |0026: add-int/lit8 v1, v1, #int 1 // #01 │ │ -007834: 28f2 |0028: goto 001a // -000e │ │ -007836: 7110 f200 0000 |0029: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -00783c: 28e2 |002c: goto 000e // -001e │ │ -00783e: 0d05 |002d: move-exception v5 │ │ -007840: 7110 f200 0000 |002e: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -007846: 2705 |0031: throw v5 │ │ +009c48: |[009c48] com.google.android.apps.authenticator.AccountDb.getNames:(Ljava/util/Collection;)I │ │ +009c58: 7010 e700 0600 |0000: invoke-direct {v6}, Lcom/google/android/apps/authenticator/AccountDb;.getNames:()Landroid/database/Cursor; // method@00e7 │ │ +009c5e: 0c00 |0003: move-result-object v0 │ │ +009c60: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ +009c66: 0a05 |0007: move-result v5 │ │ +009c68: 3805 0700 |0008: if-eqz v5, 000f // +0007 │ │ +009c6c: 1203 |000a: const/4 v3, #int 0 // #0 │ │ +009c6e: 7110 f200 0000 |000b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009c74: 0f03 |000e: return v3 │ │ +009c76: 7210 5000 0000 |000f: invoke-interface {v0}, Landroid/database/Cursor;.getCount:()I // method@0050 │ │ +009c7c: 0a03 |0012: move-result v3 │ │ +009c7e: 1a05 d603 |0013: const-string v5, "email" // string@03d6 │ │ +009c82: 7220 4e00 5000 |0015: invoke-interface {v0, v5}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ +009c88: 0a02 |0018: move-result v2 │ │ +009c8a: 1201 |0019: const/4 v1, #int 0 // #0 │ │ +009c8c: 3531 0f00 |001a: if-ge v1, v3, 0029 // +000f │ │ +009c90: 7220 5600 1000 |001c: invoke-interface {v0, v1}, Landroid/database/Cursor;.moveToPosition:(I)Z // method@0056 │ │ +009c96: 7220 5200 2000 |001f: invoke-interface {v0, v2}, Landroid/database/Cursor;.getString:(I)Ljava/lang/String; // method@0052 │ │ +009c9c: 0c04 |0022: move-result-object v4 │ │ +009c9e: 7220 6b03 4700 |0023: invoke-interface {v7, v4}, Ljava/util/Collection;.add:(Ljava/lang/Object;)Z // method@036b │ │ +009ca4: d801 0101 |0026: add-int/lit8 v1, v1, #int 1 // #01 │ │ +009ca8: 28f2 |0028: goto 001a // -000e │ │ +009caa: 7110 f200 0000 |0029: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009cb0: 28e2 |002c: goto 000e // -001e │ │ +009cb2: 0d05 |002d: move-exception v5 │ │ +009cb4: 7110 f200 0000 |002e: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009cba: 2705 |0031: throw v5 │ │ catches : 2 │ │ 0x0004 - 0x0007 │ │ -> 0x002d │ │ 0x000f - 0x0026 │ │ -> 0x002d │ │ positions : │ │ 0x0000 line=421 │ │ 0x0004 line=424 │ │ 0x000a line=425 │ │ 0x000b line=438 │ │ + 0x000e line=436 │ │ 0x000f line=427 │ │ 0x0013 line=428 │ │ 0x0019 line=430 │ │ 0x001c line=431 │ │ 0x001f line=432 │ │ 0x0023 line=433 │ │ 0x0026 line=430 │ │ @@ -1390,34 +1285,34 @@ │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -00785c: |[00785c] com.google.android.apps.authenticator.AccountDb.getSecret:(Ljava/lang/String;)Ljava/lang/String; │ │ -00786c: 7020 e300 3200 |0000: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ -007872: 0c00 |0003: move-result-object v0 │ │ -007874: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ -00787a: 0a01 |0007: move-result v1 │ │ -00787c: 3901 1300 |0008: if-nez v1, 001b // +0013 │ │ -007880: 7210 5400 0000 |000a: invoke-interface {v0}, Landroid/database/Cursor;.moveToFirst:()Z // method@0054 │ │ -007886: 1a01 1a06 |000d: const-string v1, "secret" // string@061a │ │ -00788a: 7220 4e00 1000 |000f: invoke-interface {v0, v1}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ -007890: 0a01 |0012: move-result v1 │ │ -007892: 7220 5200 1000 |0013: invoke-interface {v0, v1}, Landroid/database/Cursor;.getString:(I)Ljava/lang/String; // method@0052 │ │ -007898: 0c01 |0016: move-result-object v1 │ │ -00789a: 7110 f200 0000 |0017: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -0078a0: 1101 |001a: return-object v1 │ │ -0078a2: 7110 f200 0000 |001b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -0078a8: 1201 |001e: const/4 v1, #int 0 // #0 │ │ -0078aa: 28fb |001f: goto 001a // -0005 │ │ -0078ac: 0d01 |0020: move-exception v1 │ │ -0078ae: 7110 f200 0000 |0021: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -0078b4: 2701 |0024: throw v1 │ │ +009cd0: |[009cd0] com.google.android.apps.authenticator.AccountDb.getSecret:(Ljava/lang/String;)Ljava/lang/String; │ │ +009ce0: 7020 e300 3200 |0000: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ +009ce6: 0c00 |0003: move-result-object v0 │ │ +009ce8: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ +009cee: 0a01 |0007: move-result v1 │ │ +009cf0: 3901 1300 |0008: if-nez v1, 001b // +0013 │ │ +009cf4: 7210 5400 0000 |000a: invoke-interface {v0}, Landroid/database/Cursor;.moveToFirst:()Z // method@0054 │ │ +009cfa: 1a01 1406 |000d: const-string v1, "secret" // string@0614 │ │ +009cfe: 7220 4e00 1000 |000f: invoke-interface {v0, v1}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ +009d04: 0a01 |0012: move-result v1 │ │ +009d06: 7220 5200 1000 |0013: invoke-interface {v0, v1}, Landroid/database/Cursor;.getString:(I)Ljava/lang/String; // method@0052 │ │ +009d0c: 0c01 |0016: move-result-object v1 │ │ +009d0e: 7110 f200 0000 |0017: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009d14: 1101 |001a: return-object v1 │ │ +009d16: 7110 f200 0000 |001b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009d1c: 1201 |001e: const/4 v1, #int 0 // #0 │ │ +009d1e: 28fb |001f: goto 001a // -0005 │ │ +009d20: 0d01 |0020: move-exception v1 │ │ +009d22: 7110 f200 0000 |0021: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009d28: 2701 |0024: throw v1 │ │ catches : 1 │ │ 0x0004 - 0x0016 │ │ -> 0x0020 │ │ positions : │ │ 0x0000 line=226 │ │ 0x0004 line=228 │ │ 0x000a line=229 │ │ @@ -1437,38 +1332,38 @@ │ │ type : '(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 45 16-bit code units │ │ -0078c4: |[0078c4] com.google.android.apps.authenticator.AccountDb.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ -0078d4: 7020 e300 4300 |0000: invoke-direct {v3, v4}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ -0078da: 0c00 |0003: move-result-object v0 │ │ -0078dc: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ -0078e2: 0a02 |0007: move-result v2 │ │ -0078e4: 3902 1b00 |0008: if-nez v2, 0023 // +001b │ │ -0078e8: 7210 5400 0000 |000a: invoke-interface {v0}, Landroid/database/Cursor;.moveToFirst:()Z // method@0054 │ │ -0078ee: 1a02 b206 |000d: const-string v2, "type" // string@06b2 │ │ -0078f2: 7220 4e00 2000 |000f: invoke-interface {v0, v2}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ -0078f8: 0a02 |0012: move-result v2 │ │ -0078fa: 7220 5100 2000 |0013: invoke-interface {v0, v2}, Landroid/database/Cursor;.getInt:(I)I // method@0051 │ │ -007900: 0a02 |0016: move-result v2 │ │ -007902: 7110 3203 0200 |0017: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -007908: 0c01 |001a: move-result-object v1 │ │ -00790a: 7110 d700 0100 |001b: invoke-static {v1}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.getEnum:(Ljava/lang/Integer;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00d7 │ │ -007910: 0c02 |001e: move-result-object v2 │ │ -007912: 7110 f200 0000 |001f: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -007918: 1102 |0022: return-object v2 │ │ -00791a: 7110 f200 0000 |0023: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -007920: 1202 |0026: const/4 v2, #int 0 // #0 │ │ -007922: 28fb |0027: goto 0022 // -0005 │ │ -007924: 0d02 |0028: move-exception v2 │ │ -007926: 7110 f200 0000 |0029: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -00792c: 2702 |002c: throw v2 │ │ +009d38: |[009d38] com.google.android.apps.authenticator.AccountDb.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ +009d48: 7020 e300 4300 |0000: invoke-direct {v3, v4}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ +009d4e: 0c00 |0003: move-result-object v0 │ │ +009d50: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ +009d56: 0a02 |0007: move-result v2 │ │ +009d58: 3902 1b00 |0008: if-nez v2, 0023 // +001b │ │ +009d5c: 7210 5400 0000 |000a: invoke-interface {v0}, Landroid/database/Cursor;.moveToFirst:()Z // method@0054 │ │ +009d62: 1a02 ac06 |000d: const-string v2, "type" // string@06ac │ │ +009d66: 7220 4e00 2000 |000f: invoke-interface {v0, v2}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ +009d6c: 0a02 |0012: move-result v2 │ │ +009d6e: 7220 5100 2000 |0013: invoke-interface {v0, v2}, Landroid/database/Cursor;.getInt:(I)I // method@0051 │ │ +009d74: 0a02 |0016: move-result v2 │ │ +009d76: 7110 3203 0200 |0017: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +009d7c: 0c01 |001a: move-result-object v1 │ │ +009d7e: 7110 d700 0100 |001b: invoke-static {v1}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.getEnum:(Ljava/lang/Integer;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00d7 │ │ +009d84: 0c02 |001e: move-result-object v2 │ │ +009d86: 7110 f200 0000 |001f: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009d8c: 1102 |0022: return-object v2 │ │ +009d8e: 7110 f200 0000 |0023: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009d94: 1202 |0026: const/4 v2, #int 0 // #0 │ │ +009d96: 28fb |0027: goto 0022 // -0005 │ │ +009d98: 0d02 |0028: move-exception v2 │ │ +009d9a: 7110 f200 0000 |0029: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009da0: 2702 |002c: throw v2 │ │ catches : 1 │ │ 0x0004 - 0x001e │ │ -> 0x0028 │ │ positions : │ │ 0x0000 line=288 │ │ 0x0004 line=290 │ │ 0x000a line=291 │ │ @@ -1490,35 +1385,35 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0000 () │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 42 16-bit code units │ │ -00793c: |[00793c] com.google.android.apps.authenticator.AccountDb.incrementCounter:(Ljava/lang/String;)V │ │ -00794c: 2201 1000 |0000: new-instance v1, Landroid/content/ContentValues; // type@0010 │ │ -007950: 7010 1e00 0100 |0002: invoke-direct {v1}, Landroid/content/ContentValues;.:()V // method@001e │ │ -007956: 1a02 da03 |0005: const-string v2, "email" // string@03da │ │ -00795a: 6e30 2000 2107 |0007: invoke-virtual {v1, v2, v7}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/String;)V // method@0020 │ │ -007960: 6e20 e500 7600 |000a: invoke-virtual {v6, v7}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ -007966: 0c00 |000d: move-result-object v0 │ │ -007968: 1a02 9803 |000e: const-string v2, "counter" // string@0398 │ │ -00796c: 6e10 2b03 0000 |0010: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ -007972: 0a03 |0013: move-result v3 │ │ -007974: d803 0301 |0014: add-int/lit8 v3, v3, #int 1 // #01 │ │ -007978: 7110 3203 0300 |0016: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00797e: 0c03 |0019: move-result-object v3 │ │ -007980: 6e30 1f00 2103 |001a: invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ -007986: 5462 1a00 |001d: iget-object v2, v6, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -00798a: 1a03 0703 |001f: const-string v3, "accounts" // string@0307 │ │ -00798e: 7110 f500 0700 |0021: invoke-static {v7}, Lcom/google/android/apps/authenticator/AccountDb;.whereClause:(Ljava/lang/String;)Ljava/lang/String; // method@00f5 │ │ -007994: 0c04 |0024: move-result-object v4 │ │ -007996: 1205 |0025: const/4 v5, #int 0 // #0 │ │ -007998: 6e55 5f00 3241 |0026: invoke-virtual {v2, v3, v1, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;.update:(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I // method@005f │ │ -00799e: 0e00 |0029: return-void │ │ +009db0: |[009db0] com.google.android.apps.authenticator.AccountDb.incrementCounter:(Ljava/lang/String;)V │ │ +009dc0: 2201 1000 |0000: new-instance v1, Landroid/content/ContentValues; // type@0010 │ │ +009dc4: 7010 1e00 0100 |0002: invoke-direct {v1}, Landroid/content/ContentValues;.:()V // method@001e │ │ +009dca: 1a02 d603 |0005: const-string v2, "email" // string@03d6 │ │ +009dce: 6e30 2000 2107 |0007: invoke-virtual {v1, v2, v7}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/String;)V // method@0020 │ │ +009dd4: 6e20 e500 7600 |000a: invoke-virtual {v6, v7}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ +009dda: 0c00 |000d: move-result-object v0 │ │ +009ddc: 1a02 9403 |000e: const-string v2, "counter" // string@0394 │ │ +009de0: 6e10 2b03 0000 |0010: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ +009de6: 0a03 |0013: move-result v3 │ │ +009de8: d803 0301 |0014: add-int/lit8 v3, v3, #int 1 // #01 │ │ +009dec: 7110 3203 0300 |0016: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +009df2: 0c03 |0019: move-result-object v3 │ │ +009df4: 6e30 1f00 2103 |001a: invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ +009dfa: 5462 1a00 |001d: iget-object v2, v6, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +009dfe: 1a03 0403 |001f: const-string v3, "accounts" // string@0304 │ │ +009e02: 7110 f500 0700 |0021: invoke-static {v7}, Lcom/google/android/apps/authenticator/AccountDb;.whereClause:(Ljava/lang/String;)Ljava/lang/String; // method@00f5 │ │ +009e08: 0c04 |0024: move-result-object v4 │ │ +009e0a: 1205 |0025: const/4 v5, #int 0 // #0 │ │ +009e0c: 6e55 5f00 3241 |0026: invoke-virtual {v2, v3, v1, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;.update:(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I // method@005f │ │ +009e12: 0e00 |0029: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=280 │ │ 0x0005 line=281 │ │ 0x000a line=282 │ │ 0x000e line=283 │ │ 0x001d line=284 │ │ @@ -1534,69 +1429,71 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 76 16-bit code units │ │ -0079a0: |[0079a0] com.google.android.apps.authenticator.AccountDb.isGoogleAccount:(Ljava/lang/String;)Z │ │ -0079b0: 1202 |0000: const/4 v2, #int 0 // #0 │ │ -0079b2: 1213 |0001: const/4 v3, #int 1 // #1 │ │ -0079b4: 7020 e300 6500 |0002: invoke-direct {v5, v6}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ -0079ba: 0c00 |0005: move-result-object v0 │ │ -0079bc: 7110 de00 0000 |0006: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ -0079c2: 0a04 |0009: move-result v4 │ │ -0079c4: 3904 3900 |000a: if-nez v4, 0043 // +0039 │ │ -0079c8: 7210 5400 0000 |000c: invoke-interface {v0}, Landroid/database/Cursor;.moveToFirst:()Z // method@0054 │ │ -0079ce: 1a04 c305 |000f: const-string v4, "provider" // string@05c3 │ │ -0079d2: 7220 4e00 4000 |0011: invoke-interface {v0, v4}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ -0079d8: 0a04 |0014: move-result v4 │ │ -0079da: 7220 5100 4000 |0015: invoke-interface {v0, v4}, Landroid/database/Cursor;.getInt:(I)I // method@0051 │ │ -0079e0: 0a04 |0018: move-result v4 │ │ -0079e2: 3334 0700 |0019: if-ne v4, v3, 0020 // +0007 │ │ -0079e6: 7110 f200 0000 |001b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -0079ec: 0132 |001e: move v2, v3 │ │ -0079ee: 0f02 |001f: return v2 │ │ -0079f0: 6204 cc01 |0020: sget-object v4, Ljava/util/Locale;.US:Ljava/util/Locale; // field@01cc │ │ -0079f4: 6e20 4f03 4600 |0022: invoke-virtual {v6, v4}, Ljava/lang/String;.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String; // method@034f │ │ -0079fa: 0c01 |0025: move-result-object v1 │ │ -0079fc: 1a04 3300 |0026: const-string v4, "@gmail.com" // string@0033 │ │ -007a00: 6e20 4303 4100 |0028: invoke-virtual {v1, v4}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0343 │ │ -007a06: 0a04 |002b: move-result v4 │ │ -007a08: 3904 1200 |002c: if-nez v4, 003e // +0012 │ │ -007a0c: 1a04 3400 |002e: const-string v4, "@google.com" // string@0034 │ │ -007a10: 6e20 4303 4100 |0030: invoke-virtual {v1, v4}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0343 │ │ -007a16: 0a04 |0033: move-result v4 │ │ -007a18: 3904 0a00 |0034: if-nez v4, 003e // +000a │ │ -007a1c: 1a04 9500 |0036: const-string v4, "Google Internal 2Factor" // string@0095 │ │ -007a20: 6e20 4403 4600 |0038: invoke-virtual {v6, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -007a26: 0a04 |003b: move-result v4 │ │ -007a28: 3804 0300 |003c: if-eqz v4, 003f // +0003 │ │ -007a2c: 0132 |003e: move v2, v3 │ │ -007a2e: 7110 f200 0000 |003f: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -007a34: 28dd |0042: goto 001f // -0023 │ │ -007a36: 7110 f200 0000 |0043: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -007a3c: 28d9 |0046: goto 001f // -0027 │ │ -007a3e: 0d02 |0047: move-exception v2 │ │ -007a40: 7110 f200 0000 |0048: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -007a46: 2702 |004b: throw v2 │ │ +009e14: |[009e14] com.google.android.apps.authenticator.AccountDb.isGoogleAccount:(Ljava/lang/String;)Z │ │ +009e24: 1202 |0000: const/4 v2, #int 0 // #0 │ │ +009e26: 1213 |0001: const/4 v3, #int 1 // #1 │ │ +009e28: 7020 e300 6500 |0002: invoke-direct {v5, v6}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ +009e2e: 0c00 |0005: move-result-object v0 │ │ +009e30: 7110 de00 0000 |0006: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ +009e36: 0a04 |0009: move-result v4 │ │ +009e38: 3904 3900 |000a: if-nez v4, 0043 // +0039 │ │ +009e3c: 7210 5400 0000 |000c: invoke-interface {v0}, Landroid/database/Cursor;.moveToFirst:()Z // method@0054 │ │ +009e42: 1a04 bd05 |000f: const-string v4, "provider" // string@05bd │ │ +009e46: 7220 4e00 4000 |0011: invoke-interface {v0, v4}, Landroid/database/Cursor;.getColumnIndex:(Ljava/lang/String;)I // method@004e │ │ +009e4c: 0a04 |0014: move-result v4 │ │ +009e4e: 7220 5100 4000 |0015: invoke-interface {v0, v4}, Landroid/database/Cursor;.getInt:(I)I // method@0051 │ │ +009e54: 0a04 |0018: move-result v4 │ │ +009e56: 3334 0700 |0019: if-ne v4, v3, 0020 // +0007 │ │ +009e5a: 7110 f200 0000 |001b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009e60: 0132 |001e: move v2, v3 │ │ +009e62: 0f02 |001f: return v2 │ │ +009e64: 6204 cc01 |0020: sget-object v4, Ljava/util/Locale;.US:Ljava/util/Locale; // field@01cc │ │ +009e68: 6e20 4f03 4600 |0022: invoke-virtual {v6, v4}, Ljava/lang/String;.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String; // method@034f │ │ +009e6e: 0c01 |0025: move-result-object v1 │ │ +009e70: 1a04 3300 |0026: const-string v4, "@gmail.com" // string@0033 │ │ +009e74: 6e20 4303 4100 |0028: invoke-virtual {v1, v4}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0343 │ │ +009e7a: 0a04 |002b: move-result v4 │ │ +009e7c: 3904 1200 |002c: if-nez v4, 003e // +0012 │ │ +009e80: 1a04 3400 |002e: const-string v4, "@google.com" // string@0034 │ │ +009e84: 6e20 4303 4100 |0030: invoke-virtual {v1, v4}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@0343 │ │ +009e8a: 0a04 |0033: move-result v4 │ │ +009e8c: 3904 0a00 |0034: if-nez v4, 003e // +000a │ │ +009e90: 1a04 9500 |0036: const-string v4, "Google Internal 2Factor" // string@0095 │ │ +009e94: 6e20 4403 4600 |0038: invoke-virtual {v6, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +009e9a: 0a04 |003b: move-result v4 │ │ +009e9c: 3804 0300 |003c: if-eqz v4, 003f // +0003 │ │ +009ea0: 0132 |003e: move v2, v3 │ │ +009ea2: 7110 f200 0000 |003f: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009ea8: 28dd |0042: goto 001f // -0023 │ │ +009eaa: 7110 f200 0000 |0043: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009eb0: 28d9 |0046: goto 001f // -0027 │ │ +009eb2: 0d02 |0047: move-exception v2 │ │ +009eb4: 7110 f200 0000 |0048: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009eba: 2702 |004b: throw v2 │ │ catches : 2 │ │ 0x0006 - 0x0018 │ │ -> 0x0047 │ │ 0x0020 - 0x003b │ │ -> 0x0047 │ │ positions : │ │ 0x0002 line=309 │ │ 0x0006 line=311 │ │ 0x000c line=312 │ │ 0x000f line=313 │ │ 0x001b line=325 │ │ 0x001f line=327 │ │ 0x0020 line=319 │ │ 0x0026 line=320 │ │ + 0x0030 line=321 │ │ + 0x0038 line=322 │ │ 0x003f line=325 │ │ locals : │ │ 0x0026 - 0x0043 reg=1 emailLowerCase Ljava/lang/String; │ │ 0x0006 - 0x004c reg=0 cursor Landroid/database/Cursor; │ │ 0x0000 - 0x004c reg=5 this Lcom/google/android/apps/authenticator/AccountDb; │ │ 0x0000 - 0x004c reg=6 email Ljava/lang/String; │ │ │ │ @@ -1605,36 +1502,36 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -007a5c: |[007a5c] com.google.android.apps.authenticator.AccountDb.nameExists:(Ljava/lang/String;)Z │ │ -007a6c: 7020 e300 3200 |0000: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ -007a72: 0c00 |0003: move-result-object v0 │ │ -007a74: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ -007a7a: 0a01 |0007: move-result v1 │ │ -007a7c: 3901 0700 |0008: if-nez v1, 000f // +0007 │ │ -007a80: 1211 |000a: const/4 v1, #int 1 // #1 │ │ -007a82: 7110 f200 0000 |000b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -007a88: 0f01 |000e: return v1 │ │ -007a8a: 1201 |000f: const/4 v1, #int 0 // #0 │ │ -007a8c: 28fb |0010: goto 000b // -0005 │ │ -007a8e: 0d01 |0011: move-exception v1 │ │ -007a90: 7110 f200 0000 |0012: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ -007a96: 2701 |0015: throw v1 │ │ +009ed0: |[009ed0] com.google.android.apps.authenticator.AccountDb.nameExists:(Ljava/lang/String;)Z │ │ +009ee0: 7020 e300 3200 |0000: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/AccountDb;.getAccount:(Ljava/lang/String;)Landroid/database/Cursor; // method@00e3 │ │ +009ee6: 0c00 |0003: move-result-object v0 │ │ +009ee8: 7110 de00 0000 |0004: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.cursorIsEmpty:(Landroid/database/Cursor;)Z // method@00de │ │ +009eee: 0a01 |0007: move-result v1 │ │ +009ef0: 3901 0700 |0008: if-nez v1, 000f // +0007 │ │ +009ef4: 1211 |000a: const/4 v1, #int 1 // #1 │ │ +009ef6: 7110 f200 0000 |000b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009efc: 0f01 |000e: return v1 │ │ +009efe: 1201 |000f: const/4 v1, #int 0 // #0 │ │ +009f00: 28fb |0010: goto 000b // -0005 │ │ +009f02: 0d01 |0011: move-exception v1 │ │ +009f04: 7110 f200 0000 |0012: invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;.tryCloseCursor:(Landroid/database/Cursor;)V // method@00f2 │ │ +009f0a: 2701 |0015: throw v1 │ │ catches : 1 │ │ 0x0004 - 0x0007 │ │ -> 0x0011 │ │ positions : │ │ 0x0000 line=217 │ │ 0x0004 line=219 │ │ 0x000b line=221 │ │ - 0x000f line=219 │ │ + 0x000e line=219 │ │ 0x0011 line=221 │ │ locals : │ │ 0x0004 - 0x0016 reg=0 cursor Landroid/database/Cursor; │ │ 0x0000 - 0x0016 reg=2 this Lcom/google/android/apps/authenticator/AccountDb; │ │ 0x0000 - 0x0016 reg=3 email Ljava/lang/String; │ │ │ │ #11 : (in Lcom/google/android/apps/authenticator/AccountDb;) │ │ @@ -1642,29 +1539,29 @@ │ │ type : '(Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;)V' │ │ access : 0x0000 () │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 30 16-bit code units │ │ -007aa4: |[007aa4] com.google.android.apps.authenticator.AccountDb.setType:(Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;)V │ │ -007ab4: 2200 1000 |0000: new-instance v0, Landroid/content/ContentValues; // type@0010 │ │ -007ab8: 7010 1e00 0000 |0002: invoke-direct {v0}, Landroid/content/ContentValues;.:()V // method@001e │ │ -007abe: 1a01 da03 |0005: const-string v1, "email" // string@03da │ │ -007ac2: 6e30 2000 1006 |0007: invoke-virtual {v0, v1, v6}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/String;)V // method@0020 │ │ -007ac8: 1a01 b206 |000a: const-string v1, "type" // string@06b2 │ │ -007acc: 5472 0b00 |000c: iget-object v2, v7, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.value:Ljava/lang/Integer; // field@000b │ │ -007ad0: 6e30 1f00 1002 |000e: invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ -007ad6: 5451 1a00 |0011: iget-object v1, v5, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -007ada: 1a02 0703 |0013: const-string v2, "accounts" // string@0307 │ │ -007ade: 7110 f500 0600 |0015: invoke-static {v6}, Lcom/google/android/apps/authenticator/AccountDb;.whereClause:(Ljava/lang/String;)Ljava/lang/String; // method@00f5 │ │ -007ae4: 0c03 |0018: move-result-object v3 │ │ -007ae6: 1204 |0019: const/4 v4, #int 0 // #0 │ │ -007ae8: 6e54 5f00 2130 |001a: invoke-virtual {v1, v2, v0, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;.update:(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I // method@005f │ │ -007aee: 0e00 |001d: return-void │ │ +009f18: |[009f18] com.google.android.apps.authenticator.AccountDb.setType:(Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;)V │ │ +009f28: 2200 1000 |0000: new-instance v0, Landroid/content/ContentValues; // type@0010 │ │ +009f2c: 7010 1e00 0000 |0002: invoke-direct {v0}, Landroid/content/ContentValues;.:()V // method@001e │ │ +009f32: 1a01 d603 |0005: const-string v1, "email" // string@03d6 │ │ +009f36: 6e30 2000 1006 |0007: invoke-virtual {v0, v1, v6}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/String;)V // method@0020 │ │ +009f3c: 1a01 ac06 |000a: const-string v1, "type" // string@06ac │ │ +009f40: 5472 0b00 |000c: iget-object v2, v7, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.value:Ljava/lang/Integer; // field@000b │ │ +009f44: 6e30 1f00 1002 |000e: invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ +009f4a: 5451 1a00 |0011: iget-object v1, v5, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +009f4e: 1a02 0403 |0013: const-string v2, "accounts" // string@0304 │ │ +009f52: 7110 f500 0600 |0015: invoke-static {v6}, Lcom/google/android/apps/authenticator/AccountDb;.whereClause:(Ljava/lang/String;)Ljava/lang/String; // method@00f5 │ │ +009f58: 0c03 |0018: move-result-object v3 │ │ +009f5a: 1204 |0019: const/4 v4, #int 0 // #0 │ │ +009f5c: 6e54 5f00 2130 |001a: invoke-virtual {v1, v2, v0, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;.update:(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I // method@005f │ │ +009f62: 0e00 |001d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=302 │ │ 0x0005 line=303 │ │ 0x000a line=304 │ │ 0x0011 line=305 │ │ 0x001d line=306 │ │ @@ -1679,24 +1576,24 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 6 │ │ outs : 7 │ │ insns size : 11 16-bit code units │ │ -007af0: |[007af0] com.google.android.apps.authenticator.AccountDb.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ -007b00: 1206 |0000: const/4 v6, #int 0 // #0 │ │ -007b02: 0770 |0001: move-object v0, v7 │ │ -007b04: 0781 |0002: move-object v1, v8 │ │ -007b06: 0792 |0003: move-object v2, v9 │ │ -007b08: 07a3 |0004: move-object v3, v10 │ │ -007b0a: 07b4 |0005: move-object v4, v11 │ │ -007b0c: 07c5 |0006: move-object v5, v12 │ │ -007b0e: 7407 f400 0000 |0007: invoke-virtual/range {v0, v1, v2, v3, v4, v5, v6}, Lcom/google/android/apps/authenticator/AccountDb;.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Ljava/lang/Boolean;)V // method@00f4 │ │ -007b14: 0e00 |000a: return-void │ │ +009f64: |[009f64] com.google.android.apps.authenticator.AccountDb.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ +009f74: 1206 |0000: const/4 v6, #int 0 // #0 │ │ +009f76: 0770 |0001: move-object v0, v7 │ │ +009f78: 0781 |0002: move-object v1, v8 │ │ +009f7a: 0792 |0003: move-object v2, v9 │ │ +009f7c: 07a3 |0004: move-object v3, v10 │ │ +009f7e: 07b4 |0005: move-object v4, v11 │ │ +009f80: 07c5 |0006: move-object v5, v12 │ │ +009f82: 7407 f400 0000 |0007: invoke-virtual/range {v0, v1, v2, v3, v4, v5, v6}, Lcom/google/android/apps/authenticator/AccountDb;.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Ljava/lang/Boolean;)V // method@00f4 │ │ +009f88: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=357 │ │ 0x000a line=358 │ │ locals : │ │ 0x0000 - 0x000b reg=7 this Lcom/google/android/apps/authenticator/AccountDb; │ │ 0x0000 - 0x000b reg=8 email Ljava/lang/String; │ │ @@ -1710,95 +1607,99 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Ljava/lang/Boolean;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 7 │ │ outs : 5 │ │ insns size : 76 16-bit code units │ │ -007b18: |[007b18] com.google.android.apps.authenticator.AccountDb.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Ljava/lang/Boolean;)V │ │ -007b28: 1205 |0000: const/4 v5, #int 0 // #0 │ │ -007b2a: 2201 1000 |0001: new-instance v1, Landroid/content/ContentValues; // type@0010 │ │ -007b2e: 7010 1e00 0100 |0003: invoke-direct {v1}, Landroid/content/ContentValues;.:()V // method@001e │ │ -007b34: 1a02 da03 |0006: const-string v2, "email" // string@03da │ │ -007b38: 6e30 2000 2107 |0008: invoke-virtual {v1, v2, v7}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/String;)V // method@0020 │ │ -007b3e: 1a02 1a06 |000b: const-string v2, "secret" // string@061a │ │ -007b42: 6e30 2000 2108 |000d: invoke-virtual {v1, v2, v8}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/String;)V // method@0020 │ │ -007b48: 1a02 b206 |0010: const-string v2, "type" // string@06b2 │ │ -007b4c: 6e10 d800 0a00 |0012: invoke-virtual {v10}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.ordinal:()I // method@00d8 │ │ -007b52: 0a03 |0015: move-result v3 │ │ -007b54: 7110 3203 0300 |0016: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -007b5a: 0c03 |0019: move-result-object v3 │ │ -007b5c: 6e30 1f00 2103 |001a: invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ -007b62: 1a02 9803 |001d: const-string v2, "counter" // string@0398 │ │ -007b66: 6e30 1f00 210b |001f: invoke-virtual {v1, v2, v11}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ -007b6c: 380c 1200 |0022: if-eqz v12, 0034 // +0012 │ │ -007b70: 1a03 c305 |0024: const-string v3, "provider" // string@05c3 │ │ -007b74: 6e10 1203 0c00 |0026: invoke-virtual {v12}, Ljava/lang/Boolean;.booleanValue:()Z // method@0312 │ │ -007b7a: 0a02 |0029: move-result v2 │ │ -007b7c: 3802 2000 |002a: if-eqz v2, 004a // +0020 │ │ -007b80: 1212 |002c: const/4 v2, #int 1 // #1 │ │ -007b82: 7110 3203 0200 |002d: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -007b88: 0c02 |0030: move-result-object v2 │ │ -007b8a: 6e30 1f00 3102 |0031: invoke-virtual {v1, v3, v2}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ -007b90: 5462 1a00 |0034: iget-object v2, v6, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -007b94: 1a03 0703 |0036: const-string v3, "accounts" // string@0307 │ │ -007b98: 7110 f500 0900 |0038: invoke-static {v9}, Lcom/google/android/apps/authenticator/AccountDb;.whereClause:(Ljava/lang/String;)Ljava/lang/String; // method@00f5 │ │ -007b9e: 0c04 |003b: move-result-object v4 │ │ -007ba0: 6e55 5f00 3241 |003c: invoke-virtual {v2, v3, v1, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;.update:(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I // method@005f │ │ -007ba6: 0a00 |003f: move-result v0 │ │ -007ba8: 3900 0900 |0040: if-nez v0, 0049 // +0009 │ │ -007bac: 5462 1a00 |0042: iget-object v2, v6, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ -007bb0: 1a03 0703 |0044: const-string v3, "accounts" // string@0307 │ │ -007bb4: 6e40 5b00 3215 |0046: invoke-virtual {v2, v3, v5, v1}, Landroid/database/sqlite/SQLiteDatabase;.insert:(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J // method@005b │ │ -007bba: 0e00 |0049: return-void │ │ -007bbc: 1202 |004a: const/4 v2, #int 0 // #0 │ │ -007bbe: 28e2 |004b: goto 002d // -001e │ │ +009f8c: |[009f8c] com.google.android.apps.authenticator.AccountDb.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Ljava/lang/Boolean;)V │ │ +009f9c: 1205 |0000: const/4 v5, #int 0 // #0 │ │ +009f9e: 2201 1000 |0001: new-instance v1, Landroid/content/ContentValues; // type@0010 │ │ +009fa2: 7010 1e00 0100 |0003: invoke-direct {v1}, Landroid/content/ContentValues;.:()V // method@001e │ │ +009fa8: 1a02 d603 |0006: const-string v2, "email" // string@03d6 │ │ +009fac: 6e30 2000 2107 |0008: invoke-virtual {v1, v2, v7}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/String;)V // method@0020 │ │ +009fb2: 1a02 1406 |000b: const-string v2, "secret" // string@0614 │ │ +009fb6: 6e30 2000 2108 |000d: invoke-virtual {v1, v2, v8}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/String;)V // method@0020 │ │ +009fbc: 1a02 ac06 |0010: const-string v2, "type" // string@06ac │ │ +009fc0: 6e10 d800 0a00 |0012: invoke-virtual {v10}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.ordinal:()I // method@00d8 │ │ +009fc6: 0a03 |0015: move-result v3 │ │ +009fc8: 7110 3203 0300 |0016: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +009fce: 0c03 |0019: move-result-object v3 │ │ +009fd0: 6e30 1f00 2103 |001a: invoke-virtual {v1, v2, v3}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ +009fd6: 1a02 9403 |001d: const-string v2, "counter" // string@0394 │ │ +009fda: 6e30 1f00 210b |001f: invoke-virtual {v1, v2, v11}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ +009fe0: 380c 1200 |0022: if-eqz v12, 0034 // +0012 │ │ +009fe4: 1a03 bd05 |0024: const-string v3, "provider" // string@05bd │ │ +009fe8: 6e10 1203 0c00 |0026: invoke-virtual {v12}, Ljava/lang/Boolean;.booleanValue:()Z // method@0312 │ │ +009fee: 0a02 |0029: move-result v2 │ │ +009ff0: 3802 2000 |002a: if-eqz v2, 004a // +0020 │ │ +009ff4: 1212 |002c: const/4 v2, #int 1 // #1 │ │ +009ff6: 7110 3203 0200 |002d: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +009ffc: 0c02 |0030: move-result-object v2 │ │ +009ffe: 6e30 1f00 3102 |0031: invoke-virtual {v1, v3, v2}, Landroid/content/ContentValues;.put:(Ljava/lang/String;Ljava/lang/Integer;)V // method@001f │ │ +00a004: 5462 1a00 |0034: iget-object v2, v6, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +00a008: 1a03 0403 |0036: const-string v3, "accounts" // string@0304 │ │ +00a00c: 7110 f500 0900 |0038: invoke-static {v9}, Lcom/google/android/apps/authenticator/AccountDb;.whereClause:(Ljava/lang/String;)Ljava/lang/String; // method@00f5 │ │ +00a012: 0c04 |003b: move-result-object v4 │ │ +00a014: 6e55 5f00 3241 |003c: invoke-virtual {v2, v3, v1, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;.update:(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I // method@005f │ │ +00a01a: 0a00 |003f: move-result v0 │ │ +00a01c: 3900 0900 |0040: if-nez v0, 0049 // +0009 │ │ +00a020: 5462 1a00 |0042: iget-object v2, v6, Lcom/google/android/apps/authenticator/AccountDb;.mDatabase:Landroid/database/sqlite/SQLiteDatabase; // field@001a │ │ +00a024: 1a03 0403 |0044: const-string v3, "accounts" // string@0304 │ │ +00a028: 6e40 5b00 3215 |0046: invoke-virtual {v2, v3, v5, v1}, Landroid/database/sqlite/SQLiteDatabase;.insert:(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J // method@005b │ │ +00a02e: 0e00 |0049: return-void │ │ +00a030: 1202 |004a: const/4 v2, #int 0 // #0 │ │ +00a032: 28e2 |004b: goto 002d // -001e │ │ catches : (none) │ │ positions : │ │ 0x0001 line=372 │ │ 0x0006 line=373 │ │ 0x000b line=374 │ │ 0x0010 line=375 │ │ 0x001d line=376 │ │ 0x0022 line=377 │ │ 0x0024 line=378 │ │ + 0x0026 line=380 │ │ + 0x0031 line=378 │ │ 0x0034 line=382 │ │ + 0x0038 line=383 │ │ + 0x003c line=382 │ │ 0x0040 line=384 │ │ 0x0042 line=385 │ │ 0x0049 line=387 │ │ - 0x004a line=378 │ │ + 0x004a line=380 │ │ locals : │ │ 0x0040 - 0x004a reg=0 updated I │ │ 0x0006 - 0x004c reg=1 values Landroid/content/ContentValues; │ │ 0x0000 - 0x004c reg=6 this Lcom/google/android/apps/authenticator/AccountDb; │ │ 0x0000 - 0x004c reg=7 email Ljava/lang/String; │ │ 0x0000 - 0x004c reg=8 secret Ljava/lang/String; │ │ 0x0000 - 0x004c reg=9 oldEmail Ljava/lang/String; │ │ 0x0000 - 0x004c reg=10 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ 0x0000 - 0x004c reg=11 counter Ljava/lang/Integer; │ │ 0x0000 - 0x004c reg=12 googleAccount Ljava/lang/Boolean; │ │ │ │ source_file_idx : 60 (AccountDb.java) │ │ │ │ -Class #7 header: │ │ +Class #5 header: │ │ class_idx : 100 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 66 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #7 annotations: │ │ +Class #5 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreate │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #7 - │ │ +Class #5 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/view/View$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -1812,65 +1713,65 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -007bc0: |[007bc0] com.google.android.apps.authenticator.AddOtherAccountActivity$1.:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ │ -007bd0: 5b01 1b00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1;.this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // field@001b │ │ -007bd4: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -007bda: 0e00 |0005: return-void │ │ +00a034: |[00a034] com.google.android.apps.authenticator.AddOtherAccountActivity$1.:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ │ +00a044: 5b01 1b00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1;.this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // field@001b │ │ +00a048: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a04e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1;) │ │ name : 'onClick' │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -007bdc: |[007bdc] com.google.android.apps.authenticator.AddOtherAccountActivity$1.onClick:(Landroid/view/View;)V │ │ -007bec: 5410 1b00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1;.this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // field@001b │ │ -007bf0: 7110 fb00 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.access$000:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V // method@00fb │ │ -007bf6: 0e00 |0005: return-void │ │ +00a050: |[00a050] com.google.android.apps.authenticator.AddOtherAccountActivity$1.onClick:(Landroid/view/View;)V │ │ +00a060: 5410 1b00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1;.this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // field@001b │ │ +00a064: 7110 fb00 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.access$000:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V // method@00fb │ │ +00a06a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ 0x0005 line=46 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1; │ │ 0x0000 - 0x0006 reg=2 v Landroid/view/View; │ │ │ │ source_file_idx : 66 (AddOtherAccountActivity.java) │ │ │ │ -Class #8 header: │ │ +Class #6 header: │ │ class_idx : 101 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 66 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #8 annotations: │ │ +Class #6 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreate │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #8 - │ │ +Class #6 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/view/View$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -1884,1102 +1785,65 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -007bf8: |[007bf8] com.google.android.apps.authenticator.AddOtherAccountActivity$2.:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ │ -007c08: 5b01 1c00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2;.this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // field@001c │ │ -007c0c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -007c12: 0e00 |0005: return-void │ │ +00a06c: |[00a06c] com.google.android.apps.authenticator.AddOtherAccountActivity$2.:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ │ +00a07c: 5b01 1c00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2;.this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // field@001c │ │ +00a080: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a086: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2;) │ │ name : 'onClick' │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -007c14: |[007c14] com.google.android.apps.authenticator.AddOtherAccountActivity$2.onClick:(Landroid/view/View;)V │ │ -007c24: 5410 1c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2;.this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // field@001c │ │ -007c28: 7110 fc00 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.access$100:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V // method@00fc │ │ -007c2e: 0e00 |0005: return-void │ │ +00a088: |[00a088] com.google.android.apps.authenticator.AddOtherAccountActivity$2.onClick:(Landroid/view/View;)V │ │ +00a098: 5410 1c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2;.this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // field@001c │ │ +00a09c: 7110 fc00 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.access$100:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V // method@00fc │ │ +00a0a2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=51 │ │ 0x0005 line=52 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2; │ │ 0x0000 - 0x0006 reg=2 v Landroid/view/View; │ │ │ │ source_file_idx : 66 (AddOtherAccountActivity.java) │ │ │ │ -Class #9 header: │ │ -class_idx : 170 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 8 │ │ -source_file_idx : 644 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 2 │ │ - │ │ -Class #9 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/testability/TestableActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Landroid/app/Activity;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/testability/TestableActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -007c30: |[007c30] com.google.android.apps.authenticator.testability.TestableActivity.:()V │ │ -007c40: 7010 0200 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0002 │ │ -007c46: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=27 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/testability/TestableActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/testability/TestableActivity;) │ │ - name : 'startActivity' │ │ - type : '(Landroid/content/Intent;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 17 16-bit code units │ │ -007c48: |[007c48] com.google.android.apps.authenticator.testability.TestableActivity.startActivity:(Landroid/content/Intent;)V │ │ -007c58: 7100 6b02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; // method@026b │ │ -007c5e: 0c00 |0003: move-result-object v0 │ │ -007c60: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -007c64: 7230 7d02 2003 |0006: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/testability/StartActivityListener;.onStartActivityInvoked:(Landroid/content/Context;Landroid/content/Intent;)Z // method@027d │ │ -007c6a: 0a01 |0009: move-result v1 │ │ -007c6c: 3801 0300 |000a: if-eqz v1, 000d // +0003 │ │ -007c70: 0e00 |000c: return-void │ │ -007c72: 6f20 0500 3200 |000d: invoke-super {v2, v3}, Landroid/app/Activity;.startActivity:(Landroid/content/Intent;)V // method@0005 │ │ -007c78: 28fc |0010: goto 000c // -0004 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=31 │ │ - 0x0004 line=32 │ │ - 0x000c line=37 │ │ - 0x000d line=36 │ │ - locals : │ │ - 0x0004 - 0x0011 reg=0 listener Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ - 0x0000 - 0x0011 reg=2 this Lcom/google/android/apps/authenticator/testability/TestableActivity; │ │ - 0x0000 - 0x0011 reg=3 intent Landroid/content/Intent; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/testability/TestableActivity;) │ │ - name : 'startActivityForResult' │ │ - type : '(Landroid/content/Intent;I)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 5 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 17 16-bit code units │ │ -007c7c: |[007c7c] com.google.android.apps.authenticator.testability.TestableActivity.startActivityForResult:(Landroid/content/Intent;I)V │ │ -007c8c: 7100 6b02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; // method@026b │ │ -007c92: 0c00 |0003: move-result-object v0 │ │ -007c94: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -007c98: 7230 7d02 2003 |0006: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/testability/StartActivityListener;.onStartActivityInvoked:(Landroid/content/Context;Landroid/content/Intent;)Z // method@027d │ │ -007c9e: 0a01 |0009: move-result v1 │ │ -007ca0: 3801 0300 |000a: if-eqz v1, 000d // +0003 │ │ -007ca4: 0e00 |000c: return-void │ │ -007ca6: 6f30 0600 3204 |000d: invoke-super {v2, v3, v4}, Landroid/app/Activity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0006 │ │ -007cac: 28fc |0010: goto 000c // -0004 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=41 │ │ - 0x0004 line=42 │ │ - 0x000c line=47 │ │ - 0x000d line=46 │ │ - locals : │ │ - 0x0004 - 0x0011 reg=0 listener Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ - 0x0000 - 0x0011 reg=2 this Lcom/google/android/apps/authenticator/testability/TestableActivity; │ │ - 0x0000 - 0x0011 reg=3 intent Landroid/content/Intent; │ │ - 0x0000 - 0x0011 reg=4 requestCode I │ │ - │ │ - source_file_idx : 644 (TestableActivity.java) │ │ - │ │ -Class #10 header: │ │ -class_idx : 194 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 170 │ │ -source_file_idx : 699 │ │ -static_fields_size : 1 │ │ -instance_fields_size: 12 │ │ -direct_methods_size : 2 │ │ -virtual_methods_size: 20 │ │ - │ │ -Class #10 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; } │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "" "Lcom/google/android/apps/authenticator/testability/TestableActivity;" } │ │ -Annotations on field #258 'mWizardState' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "TWizardState;" } │ │ -Annotations on method #736 'checkWizardStateValidity' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(TWizardState;)V" } │ │ -Annotations on method #744 'getWizardState' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "()TWizardState;" } │ │ -Annotations on method #745 'getWizardStateFromIntent' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Landroid/content/Intent;" ")TWizardState;" } │ │ -Annotations on method #760 'setWizardState' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(TWizardState;)V" } │ │ -Annotations on method #764 'startPageActivity' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/Class" "<+" "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" ";>;)V" } │ │ -Annotations on method #765 'startPageActivityForResult' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/Class" "<+" "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" ";>;I)V" } │ │ - │ │ -Class #10 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/testability/TestableActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'KEY_WIZARD_STATE' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x0019 (PUBLIC STATIC FINAL) │ │ - value : "wizardState" │ │ - Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mButtonBarType' │ │ - type : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;' │ │ - access : 0x0002 (PRIVATE) │ │ - #1 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mButtonBarTypeBeforeInlineProgressDisplayed' │ │ - type : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;' │ │ - access : 0x0002 (PRIVATE) │ │ - #2 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mCancelButton' │ │ - type : 'Landroid/view/View;' │ │ - access : 0x0004 (PROTECTED) │ │ - #3 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mCancelButtonOnlyBar' │ │ - type : 'Landroid/view/View;' │ │ - access : 0x0002 (PRIVATE) │ │ - #4 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mInlineProgressView' │ │ - type : 'Landroid/view/View;' │ │ - access : 0x0002 (PRIVATE) │ │ - #5 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mLeftButton' │ │ - type : 'Landroid/widget/Button;' │ │ - access : 0x0004 (PROTECTED) │ │ - #6 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mLeftRightButtonBar' │ │ - type : 'Landroid/view/View;' │ │ - access : 0x0002 (PRIVATE) │ │ - #7 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mMiddleButton' │ │ - type : 'Landroid/widget/Button;' │ │ - access : 0x0004 (PROTECTED) │ │ - #8 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mMiddleButtonOnlyBar' │ │ - type : 'Landroid/view/View;' │ │ - access : 0x0002 (PRIVATE) │ │ - #9 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mPageContentView' │ │ - type : 'Landroid/view/ViewGroup;' │ │ - access : 0x0002 (PRIVATE) │ │ - #10 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mRightButton' │ │ - type : 'Landroid/widget/Button;' │ │ - access : 0x0004 (PROTECTED) │ │ - #11 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'mWizardState' │ │ - type : 'Ljava/io/Serializable;' │ │ - access : 0x0002 (PRIVATE) │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -007cb0: |[007cb0] com.google.android.apps.authenticator.wizard.WizardPageActivity.:()V │ │ -007cc0: 7010 7e02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.:()V // method@027e │ │ -007cc6: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=49 │ │ - 0x0003 line=55 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'setButtonBarType' │ │ - type : '(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 6 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 84 16-bit code units │ │ -007cc8: |[007cc8] com.google.android.apps.authenticator.wizard.WizardPageActivity.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V │ │ -007cd8: 1203 |0000: const/4 v3, #int 0 // #0 │ │ -007cda: 1302 0800 |0001: const/16 v2, #int 8 // #8 │ │ -007cde: 5b45 f700 |0003: iput-object v5, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarType:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f7 │ │ -007ce2: 6200 f100 |0005: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ -007ce6: 6e10 dc02 0500 |0007: invoke-virtual {v5}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.ordinal:()I // method@02dc │ │ -007cec: 0a01 |000a: move-result v1 │ │ -007cee: 4400 0001 |000b: aget v0, v0, v1 │ │ -007cf2: 2b00 3d00 0000 |000d: packed-switch v0, 0000004a // +0000003d │ │ -007cf8: 2200 e900 |0010: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ -007cfc: 7110 5203 0500 |0012: invoke-static {v5}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ -007d02: 0c01 |0015: move-result-object v1 │ │ -007d04: 7020 2603 1000 |0016: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ -007d0a: 2700 |0019: throw v0 │ │ -007d0c: 5440 fd00 |001a: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ -007d10: 6e20 ab00 3000 |001c: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -007d16: 5440 ff00 |001f: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButtonOnlyBar:Landroid/view/View; // field@00ff │ │ -007d1a: 6e20 ab00 2000 |0021: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -007d20: 5440 fa00 |0024: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButtonOnlyBar:Landroid/view/View; // field@00fa │ │ -007d24: 6e20 ab00 2000 |0026: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -007d2a: 0e00 |0029: return-void │ │ -007d2c: 5440 ff00 |002a: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButtonOnlyBar:Landroid/view/View; // field@00ff │ │ -007d30: 6e20 ab00 3000 |002c: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -007d36: 5440 fd00 |002f: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ -007d3a: 6e20 ab00 2000 |0031: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -007d40: 5440 fa00 |0034: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButtonOnlyBar:Landroid/view/View; // field@00fa │ │ -007d44: 6e20 ab00 2000 |0036: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -007d4a: 28f0 |0039: goto 0029 // -0010 │ │ -007d4c: 5440 fa00 |003a: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButtonOnlyBar:Landroid/view/View; // field@00fa │ │ -007d50: 6e20 ab00 3000 |003c: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -007d56: 5440 fd00 |003f: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ -007d5a: 6e20 ab00 2000 |0041: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -007d60: 5440 ff00 |0044: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButtonOnlyBar:Landroid/view/View; // field@00ff │ │ -007d64: 6e20 ab00 2000 |0046: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -007d6a: 28e0 |0049: goto 0029 // -0020 │ │ -007d6c: 0001 0300 0100 0000 0d00 0000 1d00 ... |004a: packed-switch-data (10 units) │ │ - catches : (none) │ │ - positions : │ │ - 0x0003 line=237 │ │ - 0x0005 line=238 │ │ - 0x0010 line=255 │ │ - 0x001a line=240 │ │ - 0x001f line=241 │ │ - 0x0024 line=242 │ │ - 0x0029 line=257 │ │ - 0x002a line=245 │ │ - 0x002f line=246 │ │ - 0x0034 line=247 │ │ - 0x003a line=250 │ │ - 0x003f line=251 │ │ - 0x0044 line=252 │ │ - 0x004a line=238 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=4 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0054 reg=4 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0054 reg=5 type Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'checkWizardStateValidity' │ │ - type : '(Ljava/io/Serializable;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -007d80: |[007d80] com.google.android.apps.authenticator.wizard.WizardPageActivity.checkWizardStateValidity:(Ljava/io/Serializable;)V │ │ -007d90: 0e00 |0000: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=302 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0000 reg=1 (null) Ljava/io/Serializable; │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0001 reg=1 wizardState Ljava/io/Serializable; TWizardState; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'dismissInlineProgress' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 12 16-bit code units │ │ -007d94: |[007d94] com.google.android.apps.authenticator.wizard.WizardPageActivity.dismissInlineProgress:()V │ │ -007da4: 5420 f900 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButton:Landroid/view/View; // field@00f9 │ │ -007da8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -007daa: 6e20 a900 1000 |0003: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ -007db0: 5420 f800 |0006: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarTypeBeforeInlineProgressDisplayed:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f8 │ │ -007db4: 7020 f102 0200 |0008: invoke-direct {v2, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V // method@02f1 │ │ -007dba: 0e00 |000b: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=285 │ │ - 0x0006 line=286 │ │ - 0x000b line=287 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000c reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'exitWizard' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 19 16-bit code units │ │ -007dbc: |[007dbc] com.google.android.apps.authenticator.wizard.WizardPageActivity.exitWizard:()V │ │ -007dcc: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ -007dd0: 1c01 7900 |0002: const-class v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity; // type@0079 │ │ -007dd4: 7030 2f00 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ -007dda: 1501 0004 |0007: const/high16 v1, #int 67108864 // #400 │ │ -007dde: 6e20 3200 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0032 │ │ -007de4: 6e20 fa02 0200 |000c: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.startActivity:(Landroid/content/Intent;)V // method@02fa │ │ -007dea: 6e10 e402 0200 |000f: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.finish:()V // method@02e4 │ │ -007df0: 0e00 |0012: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=290 │ │ - 0x0007 line=291 │ │ - 0x000c line=292 │ │ - 0x000f line=294 │ │ - 0x0012 line=295 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0007 - 0x0013 reg=0 intent Landroid/content/Intent; │ │ - 0x0000 - 0x0013 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'getWizardState' │ │ - type : '()Ljava/io/Serializable;' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -007df4: |[007df4] com.google.android.apps.authenticator.wizard.WizardPageActivity.getWizardState:()Ljava/io/Serializable; │ │ -007e04: 5410 0201 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mWizardState:Ljava/io/Serializable; // field@0102 │ │ -007e08: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=136 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - │ │ - #4 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'getWizardStateFromIntent' │ │ - type : '(Landroid/content/Intent;)Ljava/io/Serializable;' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 3 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 11 16-bit code units │ │ -007e0c: |[007e0c] com.google.android.apps.authenticator.wizard.WizardPageActivity.getWizardStateFromIntent:(Landroid/content/Intent;)Ljava/io/Serializable; │ │ -007e1c: 3802 0900 |0000: if-eqz v2, 0009 // +0009 │ │ -007e20: 1a00 f006 |0002: const-string v0, "wizardState" // string@06f0 │ │ -007e24: 6e20 3600 0200 |0004: invoke-virtual {v2, v0}, Landroid/content/Intent;.getSerializableExtra:(Ljava/lang/String;)Ljava/io/Serializable; // method@0036 │ │ -007e2a: 0c00 |0007: move-result-object v0 │ │ -007e2c: 1100 |0008: return-object v0 │ │ -007e2e: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -007e30: 28fe |000a: goto 0008 // -0002 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=200 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000b reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000b reg=2 intent Landroid/content/Intent; │ │ - │ │ - #5 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 5 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 159 16-bit code units │ │ -007e34: |[007e34] com.google.android.apps.authenticator.wizard.WizardPageActivity.onCreate:(Landroid/os/Bundle;)V │ │ -007e44: 6f20 8002 4300 |0000: invoke-super {v3, v4}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onCreate:(Landroid/os/Bundle;)V // method@0280 │ │ -007e4a: 3904 9400 |0003: if-nez v4, 0097 // +0094 │ │ -007e4e: 6e10 e502 0300 |0005: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getIntent:()Landroid/content/Intent; // method@02e5 │ │ -007e54: 0c01 |0008: move-result-object v1 │ │ -007e56: 6e20 e902 1300 |0009: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getWizardStateFromIntent:(Landroid/content/Intent;)Ljava/io/Serializable; // method@02e9 │ │ -007e5c: 0c00 |000c: move-result-object v0 │ │ -007e5e: 6e20 e002 0300 |000d: invoke-virtual {v3, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.checkWizardStateValidity:(Ljava/io/Serializable;)V // method@02e0 │ │ -007e64: 5b30 0201 |0010: iput-object v0, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mWizardState:Ljava/io/Serializable; // field@0102 │ │ -007e68: 1401 0b00 037f |0012: const v1, #float 1.74129e+38 // #7f03000b │ │ -007e6e: 6e20 f202 1300 |0015: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setContentView:(I)V // method@02f2 │ │ -007e74: 1401 1b00 0a7f |0018: const v1, #float 1.83434e+38 // #7f0a001b │ │ -007e7a: 6e20 e302 1300 |001b: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -007e80: 0c01 |001e: move-result-object v1 │ │ -007e82: 5b31 fd00 |001f: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ -007e86: 1401 1e00 0a7f |0021: const v1, #float 1.83434e+38 // #7f0a001e │ │ -007e8c: 6e20 e302 1300 |0024: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -007e92: 0c01 |0027: move-result-object v1 │ │ -007e94: 5b31 ff00 |0028: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButtonOnlyBar:Landroid/view/View; // field@00ff │ │ -007e98: 1401 1900 0a7f |002a: const v1, #float 1.83434e+38 // #7f0a0019 │ │ -007e9e: 6e20 e302 1300 |002d: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -007ea4: 0c01 |0030: move-result-object v1 │ │ -007ea6: 1f01 4f00 |0031: check-cast v1, Landroid/view/ViewGroup; // type@004f │ │ -007eaa: 5b31 0001 |0033: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mPageContentView:Landroid/view/ViewGroup; // field@0100 │ │ -007eae: 5431 fd00 |0035: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ -007eb2: 1402 1c00 0a7f |0037: const v2, #float 1.83434e+38 // #7f0a001c │ │ -007eb8: 6e20 a500 2100 |003a: invoke-virtual {v1, v2}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ -007ebe: 0c01 |003d: move-result-object v1 │ │ -007ec0: 1f01 5700 |003e: check-cast v1, Landroid/widget/Button; // type@0057 │ │ -007ec4: 5b31 fc00 |0040: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftButton:Landroid/widget/Button; // field@00fc │ │ -007ec8: 5431 fc00 |0042: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftButton:Landroid/widget/Button; // field@00fc │ │ -007ecc: 2202 bd00 |0044: new-instance v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; // type@00bd │ │ -007ed0: 7020 d302 3200 |0046: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V // method@02d3 │ │ -007ed6: 6e20 b900 2100 |0049: invoke-virtual {v1, v2}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b9 │ │ -007edc: 1401 1d00 0a7f |004c: const v1, #float 1.83434e+38 // #7f0a001d │ │ -007ee2: 6e20 e302 1300 |004f: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -007ee8: 0c01 |0052: move-result-object v1 │ │ -007eea: 1f01 5700 |0053: check-cast v1, Landroid/widget/Button; // type@0057 │ │ -007eee: 5b31 0101 |0055: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mRightButton:Landroid/widget/Button; // field@0101 │ │ -007ef2: 5431 0101 |0057: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mRightButton:Landroid/widget/Button; // field@0101 │ │ -007ef6: 2202 be00 |0059: new-instance v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; // type@00be │ │ -007efa: 7020 d502 3200 |005b: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V // method@02d5 │ │ -007f00: 6e20 b900 2100 |005e: invoke-virtual {v1, v2}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b9 │ │ -007f06: 1401 1f00 0a7f |0061: const v1, #float 1.83434e+38 // #7f0a001f │ │ -007f0c: 6e20 e302 1300 |0064: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -007f12: 0c01 |0067: move-result-object v1 │ │ -007f14: 1f01 5700 |0068: check-cast v1, Landroid/widget/Button; // type@0057 │ │ -007f18: 5b31 fe00 |006a: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButton:Landroid/widget/Button; // field@00fe │ │ -007f1c: 5431 fe00 |006c: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButton:Landroid/widget/Button; // field@00fe │ │ -007f20: 2202 bf00 |006e: new-instance v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; // type@00bf │ │ -007f24: 7020 d702 3200 |0070: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V // method@02d7 │ │ -007f2a: 6e20 b900 2100 |0073: invoke-virtual {v1, v2}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b9 │ │ -007f30: 1401 2000 0a7f |0076: const v1, #float 1.83434e+38 // #7f0a0020 │ │ -007f36: 6e20 e302 1300 |0079: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -007f3c: 0c01 |007c: move-result-object v1 │ │ -007f3e: 5b31 fa00 |007d: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButtonOnlyBar:Landroid/view/View; // field@00fa │ │ -007f42: 1401 1a00 0a7f |007f: const v1, #float 1.83434e+38 // #7f0a001a │ │ -007f48: 6e20 e302 1300 |0082: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -007f4e: 0c01 |0085: move-result-object v1 │ │ -007f50: 5b31 fb00 |0086: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mInlineProgressView:Landroid/view/View; // field@00fb │ │ -007f54: 1401 2100 0a7f |0088: const v1, #float 1.83434e+38 // #7f0a0021 │ │ -007f5a: 6e20 e302 1300 |008b: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -007f60: 0c01 |008e: move-result-object v1 │ │ -007f62: 5b31 f900 |008f: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButton:Landroid/view/View; // field@00f9 │ │ -007f66: 6201 f400 |0091: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.LEFT_RIGHT_BUTTONS:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f4 │ │ -007f6a: 7020 f102 1300 |0093: invoke-direct {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V // method@02f1 │ │ -007f70: 0e00 |0096: return-void │ │ -007f72: 1a01 f006 |0097: const-string v1, "wizardState" // string@06f0 │ │ -007f76: 6e20 7400 1400 |0099: invoke-virtual {v4, v1}, Landroid/os/Bundle;.getSerializable:(Ljava/lang/String;)Ljava/io/Serializable; // method@0074 │ │ -007f7c: 0c00 |009c: move-result-object v0 │ │ -007f7e: 2900 70ff |009d: goto/16 000d // -0090 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=82 │ │ - 0x0003 line=85 │ │ - 0x0005 line=86 │ │ - 0x000d line=90 │ │ - 0x0010 line=91 │ │ - 0x0012 line=93 │ │ - 0x0018 line=95 │ │ - 0x0021 line=96 │ │ - 0x002a line=97 │ │ - 0x0035 line=99 │ │ - 0x0042 line=100 │ │ - 0x004c line=107 │ │ - 0x0057 line=108 │ │ - 0x0061 line=115 │ │ - 0x006c line=116 │ │ - 0x0076 line=123 │ │ - 0x007f line=124 │ │ - 0x0088 line=125 │ │ - 0x0091 line=126 │ │ - 0x0096 line=127 │ │ - 0x0097 line=88 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x000d - 0x0097 reg=0 wizardState Ljava/io/Serializable; TWizardState; │ │ - 0x009d - 0x009f reg=0 wizardState Ljava/io/Serializable; TWizardState; │ │ - 0x0000 - 0x009f reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x009f reg=4 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - #6 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'onLeftButtonPressed' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -007f84: |[007f84] com.google.android.apps.authenticator.wizard.WizardPageActivity.onLeftButtonPressed:()V │ │ -007f94: 6e10 ea02 0000 |0000: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onBackPressed:()V // method@02ea │ │ -007f9a: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=159 │ │ - 0x0003 line=160 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - │ │ - #7 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'onMiddleButtonPressed' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -007f9c: |[007f9c] com.google.android.apps.authenticator.wizard.WizardPageActivity.onMiddleButtonPressed:()V │ │ -007fac: 0e00 |0000: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=170 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - │ │ - #8 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'onRightButtonPressed' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -007fb0: |[007fb0] com.google.android.apps.authenticator.wizard.WizardPageActivity.onRightButtonPressed:()V │ │ -007fc0: 0e00 |0000: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=165 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - │ │ - #9 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'onSaveInstanceState' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 11 16-bit code units │ │ -007fc4: |[007fc4] com.google.android.apps.authenticator.wizard.WizardPageActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ -007fd4: 6f20 8502 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0285 │ │ -007fda: 1a00 f006 |0003: const-string v0, "wizardState" // string@06f0 │ │ -007fde: 5421 0201 |0005: iget-object v1, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mWizardState:Ljava/io/Serializable; // field@0102 │ │ -007fe2: 6e30 7800 0301 |0007: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putSerializable:(Ljava/lang/String;Ljava/io/Serializable;)V // method@0078 │ │ -007fe8: 0e00 |000a: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=131 │ │ - 0x0003 line=132 │ │ - 0x000a line=133 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000b reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000b reg=3 outState Landroid/os/Bundle; │ │ - │ │ - #10 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'setButtonBarModeMiddleButtonOnly' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 6 16-bit code units │ │ -007fec: |[007fec] com.google.android.apps.authenticator.wizard.WizardPageActivity.setButtonBarModeMiddleButtonOnly:()V │ │ -007ffc: 6200 f500 |0000: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.MIDDLE_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f5 │ │ -008000: 7020 f102 0100 |0002: invoke-direct {v1, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V // method@02f1 │ │ -008006: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=151 │ │ - 0x0005 line=152 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - │ │ - #11 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'setPageContentView' │ │ - type : '(I)Landroid/view/View;' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 5 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 20 16-bit code units │ │ -008008: |[008008] com.google.android.apps.authenticator.wizard.WizardPageActivity.setPageContentView:(I)Landroid/view/View; │ │ -008018: 6e10 e602 0300 |0000: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getLayoutInflater:()Landroid/view/LayoutInflater; // method@02e6 │ │ -00801e: 0c01 |0003: move-result-object v1 │ │ -008020: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -008022: 6e30 9f00 4102 |0005: invoke-virtual {v1, v4, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@009f │ │ -008028: 0c00 |0008: move-result-object v0 │ │ -00802a: 5431 0001 |0009: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mPageContentView:Landroid/view/ViewGroup; // field@0100 │ │ -00802e: 6e10 ad00 0100 |000b: invoke-virtual {v1}, Landroid/view/ViewGroup;.removeAllViews:()V // method@00ad │ │ -008034: 5431 0001 |000e: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mPageContentView:Landroid/view/ViewGroup; // field@0100 │ │ -008038: 6e20 ac00 0100 |0010: invoke-virtual {v1, v0}, Landroid/view/ViewGroup;.addView:(Landroid/view/View;)V // method@00ac │ │ -00803e: 1100 |0013: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=144 │ │ - 0x0009 line=145 │ │ - 0x000e line=146 │ │ - 0x0013 line=147 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0009 - 0x0014 reg=0 view Landroid/view/View; │ │ - 0x0000 - 0x0014 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0014 reg=4 resId I │ │ - │ │ - #12 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'setTextViewHtml' │ │ - type : '(ILjava/lang/String;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 10 16-bit code units │ │ -008040: |[008040] com.google.android.apps.authenticator.wizard.WizardPageActivity.setTextViewHtml:(ILjava/lang/String;)V │ │ -008050: 6e20 e302 2100 |0000: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -008056: 0c00 |0003: move-result-object v0 │ │ -008058: 1f00 5e00 |0004: check-cast v0, Landroid/widget/TextView; // type@005e │ │ -00805c: 6e30 f502 0103 |0006: invoke-virtual {v1, v0, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setTextViewHtml:(Landroid/widget/TextView;Ljava/lang/String;)V // method@02f5 │ │ -008062: 0e00 |0009: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=223 │ │ - 0x0009 line=224 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000a reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000a reg=2 viewId I │ │ - 0x0000 - 0x000a reg=3 html Ljava/lang/String; │ │ - │ │ - #13 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'setTextViewHtml' │ │ - type : '(Landroid/widget/TextView;Ljava/lang/String;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 3 │ │ - outs : 2 │ │ - insns size : 8 16-bit code units │ │ -008064: |[008064] com.google.android.apps.authenticator.wizard.WizardPageActivity.setTextViewHtml:(Landroid/widget/TextView;Ljava/lang/String;)V │ │ -008074: 7110 9500 0300 |0000: invoke-static {v3}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0095 │ │ -00807a: 0c00 |0003: move-result-object v0 │ │ -00807c: 6e20 cd00 0200 |0004: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ -008082: 0e00 |0007: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=230 │ │ - 0x0007 line=231 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0008 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0008 reg=2 view Landroid/widget/TextView; │ │ - 0x0000 - 0x0008 reg=3 html Ljava/lang/String; │ │ - │ │ - #14 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'setTextViewHtmlFromResource' │ │ - type : '(II)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 10 16-bit code units │ │ -008084: |[008084] com.google.android.apps.authenticator.wizard.WizardPageActivity.setTextViewHtmlFromResource:(II)V │ │ -008094: 6e20 e302 2100 |0000: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ -00809a: 0c00 |0003: move-result-object v0 │ │ -00809c: 1f00 5e00 |0004: check-cast v0, Landroid/widget/TextView; // type@005e │ │ -0080a0: 6e30 f702 0103 |0006: invoke-virtual {v1, v0, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setTextViewHtmlFromResource:(Landroid/widget/TextView;I)V // method@02f7 │ │ -0080a6: 0e00 |0009: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=209 │ │ - 0x0009 line=210 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000a reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000a reg=2 viewId I │ │ - 0x0000 - 0x000a reg=3 resId I │ │ - │ │ - #15 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'setTextViewHtmlFromResource' │ │ - type : '(Landroid/widget/TextView;I)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 3 │ │ - outs : 2 │ │ - insns size : 12 16-bit code units │ │ -0080a8: |[0080a8] com.google.android.apps.authenticator.wizard.WizardPageActivity.setTextViewHtmlFromResource:(Landroid/widget/TextView;I)V │ │ -0080b8: 6e20 e702 3100 |0000: invoke-virtual {v1, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getString:(I)Ljava/lang/String; // method@02e7 │ │ -0080be: 0c00 |0003: move-result-object v0 │ │ -0080c0: 7110 9500 0000 |0004: invoke-static {v0}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0095 │ │ -0080c6: 0c00 |0007: move-result-object v0 │ │ -0080c8: 6e20 cd00 0200 |0008: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ -0080ce: 0e00 |000b: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=216 │ │ - 0x000b line=217 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000c reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x000c reg=2 view Landroid/widget/TextView; │ │ - 0x0000 - 0x000c reg=3 resId I │ │ - │ │ - #16 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'setWizardState' │ │ - type : '(Ljava/io/Serializable;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -0080d0: |[0080d0] com.google.android.apps.authenticator.wizard.WizardPageActivity.setWizardState:(Ljava/io/Serializable;)V │ │ -0080e0: 5b01 0201 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mWizardState:Ljava/io/Serializable; // field@0102 │ │ -0080e4: 0e00 |0002: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=140 │ │ - 0x0002 line=141 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0000 reg=1 (null) Ljava/io/Serializable; │ │ - 0x0000 - 0x0003 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0003 reg=1 wizardState Ljava/io/Serializable; TWizardState; │ │ - │ │ - #17 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'showInlineProgress' │ │ - type : '(Landroid/view/View$OnClickListener;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 33 16-bit code units │ │ -0080e8: |[0080e8] com.google.android.apps.authenticator.wizard.WizardPageActivity.showInlineProgress:(Landroid/view/View$OnClickListener;)V │ │ -0080f8: 5420 f900 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButton:Landroid/view/View; // field@00f9 │ │ -0080fc: 6e20 a900 3000 |0002: invoke-virtual {v0, v3}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ -008102: 5420 f900 |0005: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButton:Landroid/view/View; // field@00f9 │ │ -008106: 1211 |0007: const/4 v1, #int 1 // #1 │ │ -008108: 6e20 a800 1000 |0008: invoke-virtual {v0, v1}, Landroid/view/View;.setEnabled:(Z)V // method@00a8 │ │ -00810e: 5420 fb00 |000b: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mInlineProgressView:Landroid/view/View; // field@00fb │ │ -008112: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -008114: 6e20 ab00 1000 |000e: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -00811a: 5420 f700 |0011: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarType:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f7 │ │ -00811e: 6201 f300 |0013: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ -008122: 3210 0600 |0015: if-eq v0, v1, 001b // +0006 │ │ -008126: 5420 f700 |0017: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarType:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f7 │ │ -00812a: 5b20 f800 |0019: iput-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarTypeBeforeInlineProgressDisplayed:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f8 │ │ -00812e: 6200 f300 |001b: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ -008132: 7020 f102 0200 |001d: invoke-direct {v2, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V // method@02f1 │ │ -008138: 0e00 |0020: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=267 │ │ - 0x0005 line=268 │ │ - 0x000b line=270 │ │ - 0x0011 line=272 │ │ - 0x0017 line=273 │ │ - 0x001b line=275 │ │ - 0x0020 line=276 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0021 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0021 reg=3 cancelListener Landroid/view/View$OnClickListener; │ │ - │ │ - #18 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'startPageActivity' │ │ - type : '(Ljava/lang/Class;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 5 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 18 16-bit code units │ │ -00813c: |[00813c] com.google.android.apps.authenticator.wizard.WizardPageActivity.startPageActivity:(Ljava/lang/Class;)V │ │ -00814c: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ -008150: 7030 2f00 3004 |0002: invoke-direct {v0, v3, v4}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ -008156: 1a01 f006 |0005: const-string v1, "wizardState" // string@06f0 │ │ -00815a: 6e10 e802 0300 |0007: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getWizardState:()Ljava/io/Serializable; // method@02e8 │ │ -008160: 0c02 |000a: move-result-object v2 │ │ -008162: 6e30 3800 1002 |000b: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; // method@0038 │ │ -008168: 6e20 fa02 0300 |000e: invoke-virtual {v3, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.startActivity:(Landroid/content/Intent;)V // method@02fa │ │ -00816e: 0e00 |0011: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=177 │ │ - 0x0005 line=178 │ │ - 0x000e line=179 │ │ - 0x0011 line=180 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0000 reg=4 (null) Ljava/lang/Class; │ │ - 0x0005 - 0x0012 reg=0 intent Landroid/content/Intent; │ │ - 0x0000 - 0x0012 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0012 reg=4 activityClass Ljava/lang/Class; Ljava/lang/Class<+Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;>; │ │ - │ │ - #19 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ - name : 'startPageActivityForResult' │ │ - type : '(Ljava/lang/Class;I)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 6 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 18 16-bit code units │ │ -008170: |[008170] com.google.android.apps.authenticator.wizard.WizardPageActivity.startPageActivityForResult:(Ljava/lang/Class;I)V │ │ -008180: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ -008184: 7030 2f00 3004 |0002: invoke-direct {v0, v3, v4}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ -00818a: 1a01 f006 |0005: const-string v1, "wizardState" // string@06f0 │ │ -00818e: 6e10 e802 0300 |0007: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getWizardState:()Ljava/io/Serializable; // method@02e8 │ │ -008194: 0c02 |000a: move-result-object v2 │ │ -008196: 6e30 3800 1002 |000b: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; // method@0038 │ │ -00819c: 6e30 fb02 0305 |000e: invoke-virtual {v3, v0, v5}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@02fb │ │ -0081a2: 0e00 |0011: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=188 │ │ - 0x0005 line=189 │ │ - 0x000e line=190 │ │ - 0x0011 line=191 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0000 reg=4 (null) Ljava/lang/Class; │ │ - 0x0005 - 0x0012 reg=0 intent Landroid/content/Intent; │ │ - 0x0000 - 0x0012 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ - 0x0000 - 0x0012 reg=4 activityClass Ljava/lang/Class; Ljava/lang/Class<+Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;>; │ │ - 0x0000 - 0x0012 reg=5 requestCode I │ │ - │ │ - source_file_idx : 699 (WizardPageActivity.java) │ │ - │ │ -Class #11 header: │ │ -class_idx : 102 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 194 │ │ -source_file_idx : 66 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 5 │ │ -virtual_methods_size: 1 │ │ - │ │ -Class #11 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ - │ │ -Class #11 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/AddOtherAccountActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -0081a4: |[0081a4] com.google.android.apps.authenticator.AddOtherAccountActivity.:()V │ │ -0081b4: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ -0081ba: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=34 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ - name : 'access$000' │ │ - type : '(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -0081bc: |[0081bc] com.google.android.apps.authenticator.AddOtherAccountActivity.access$000:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ │ -0081cc: 7010 0101 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.scanBarcode:()V // method@0101 │ │ -0081d2: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=34 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ - name : 'access$100' │ │ - type : '(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -0081d4: |[0081d4] com.google.android.apps.authenticator.AddOtherAccountActivity.access$100:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ │ -0081e4: 7010 ff00 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.manuallyEnterAccountDetails:()V // method@00ff │ │ -0081ea: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=34 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ - name : 'manuallyEnterAccountDetails' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 16 16-bit code units │ │ -0081ec: |[0081ec] com.google.android.apps.authenticator.AddOtherAccountActivity.manuallyEnterAccountDetails:()V │ │ -0081fc: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ -008200: 1a01 1903 |0002: const-string v1, "android.intent.action.VIEW" // string@0319 │ │ -008204: 7020 3000 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0030 │ │ -00820a: 1c01 7f00 |0007: const-class v1, Lcom/google/android/apps/authenticator/EnterKeyActivity; // type@007f │ │ -00820e: 6e30 3b00 2001 |0009: invoke-virtual {v0, v2, v1}, Landroid/content/Intent;.setClass:(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent; // method@003b │ │ -008214: 6e20 0301 0200 |000c: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.startActivity:(Landroid/content/Intent;)V // method@0103 │ │ -00821a: 0e00 |000f: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=59 │ │ - 0x0007 line=60 │ │ - 0x000c line=61 │ │ - 0x000f line=62 │ │ - locals : │ │ - 0x0007 - 0x0010 reg=0 intent Landroid/content/Intent; │ │ - 0x0000 - 0x0010 reg=2 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ - │ │ - #4 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ - name : 'scanBarcode' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 11 16-bit code units │ │ -00821c: |[00821c] com.google.android.apps.authenticator.AddOtherAccountActivity.scanBarcode:()V │ │ -00822c: 7110 5301 0100 |0000: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLaunchIntentActionScanBarcode:(Landroid/content/Context;)Landroid/content/Intent; // method@0153 │ │ -008232: 0c00 |0003: move-result-object v0 │ │ -008234: 6e20 0301 0100 |0004: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.startActivity:(Landroid/content/Intent;)V // method@0103 │ │ -00823a: 6e10 fe00 0100 |0007: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.finish:()V // method@00fe │ │ -008240: 0e00 |000a: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=65 │ │ - 0x0007 line=66 │ │ - 0x000a line=67 │ │ - locals : │ │ - 0x0000 - 0x000b reg=1 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 44 16-bit code units │ │ -008244: |[008244] com.google.android.apps.authenticator.AddOtherAccountActivity.onCreate:(Landroid/os/Bundle;)V │ │ -008254: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ -00825a: 1500 037f |0003: const/high16 v0, #int 2130903040 // #7f03 │ │ -00825e: 6e20 0201 0200 |0005: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.setPageContentView:(I)Landroid/view/View; // method@0102 │ │ -008264: 1500 0a7f |0008: const/high16 v0, #int 2131361792 // #7f0a │ │ -008268: 6e20 fd00 0200 |000a: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.findViewById:(I)Landroid/view/View; // method@00fd │ │ -00826e: 0c00 |000d: move-result-object v0 │ │ -008270: 2201 6400 |000e: new-instance v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1; // type@0064 │ │ -008274: 7020 f600 2100 |0010: invoke-direct {v1, v2}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1;.:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V // method@00f6 │ │ -00827a: 6e20 a900 1000 |0013: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ -008280: 1400 0100 0a7f |0016: const v0, #float 1.83433e+38 // #7f0a0001 │ │ -008286: 6e20 fd00 0200 |0019: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.findViewById:(I)Landroid/view/View; // method@00fd │ │ -00828c: 0c00 |001c: move-result-object v0 │ │ -00828e: 2201 6500 |001d: new-instance v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2; // type@0065 │ │ -008292: 7020 f800 2100 |001f: invoke-direct {v1, v2}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2;.:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V // method@00f8 │ │ -008298: 6e20 a900 1000 |0022: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ -00829e: 5420 1d00 |0025: iget-object v0, v2, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.mRightButton:Landroid/widget/Button; // field@001d │ │ -0082a2: 1241 |0027: const/4 v1, #int 4 // #4 │ │ -0082a4: 6e20 bb00 1000 |0028: invoke-virtual {v0, v1}, Landroid/widget/Button;.setVisibility:(I)V // method@00bb │ │ -0082aa: 0e00 |002b: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=38 │ │ - 0x0003 line=40 │ │ - 0x0008 line=42 │ │ - 0x0016 line=48 │ │ - 0x0025 line=55 │ │ - 0x002b line=56 │ │ - locals : │ │ - 0x0000 - 0x002c reg=2 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ - 0x0000 - 0x002c reg=3 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - source_file_idx : 66 (AddOtherAccountActivity.java) │ │ - │ │ -Class #12 header: │ │ +Class #7 header: │ │ class_idx : 103 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #12 annotations: │ │ +Class #7 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreateDialog │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #12 - │ │ +Class #7 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -2993,69 +1857,69 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0082ac: |[0082ac] com.google.android.apps.authenticator.AuthenticatorActivity$10.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -0082bc: 5b01 1e00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001e │ │ -0082c0: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -0082c6: 0e00 |0005: return-void │ │ +00a0a4: |[00a0a4] com.google.android.apps.authenticator.AuthenticatorActivity$10.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00a0b4: 5b01 1e00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001e │ │ +00a0b8: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a0be: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=961 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$10; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;) │ │ name : 'onClick' │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -0082c8: |[0082c8] com.google.android.apps.authenticator.AuthenticatorActivity$10.onClick:(Landroid/content/DialogInterface;I)V │ │ -0082d8: 5420 1e00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001e │ │ -0082dc: 5421 1e00 |0002: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001e │ │ -0082e0: 7110 4101 0100 |0004: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/content/Intent; // method@0141 │ │ -0082e6: 0c01 |0007: move-result-object v1 │ │ -0082e8: 6e20 7e01 1000 |0008: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ -0082ee: 0e00 |000b: return-void │ │ +00a0c0: |[00a0c0] com.google.android.apps.authenticator.AuthenticatorActivity$10.onClick:(Landroid/content/DialogInterface;I)V │ │ +00a0d0: 5420 1e00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001e │ │ +00a0d4: 5421 1e00 |0002: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001e │ │ +00a0d8: 7110 4101 0100 |0004: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/content/Intent; // method@0141 │ │ +00a0de: 0c01 |0007: move-result-object v1 │ │ +00a0e0: 6e20 7e01 1000 |0008: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ +00a0e6: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=964 │ │ 0x000b line=965 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$10; │ │ 0x0000 - 0x000c reg=3 dialog Landroid/content/DialogInterface; │ │ 0x0000 - 0x000c reg=4 whichButton I │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #13 header: │ │ +Class #8 header: │ │ class_idx : 104 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #13 annotations: │ │ +Class #8 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=markDialogAsResultOfSaveKeyIntent │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #13 - │ │ +Class #8 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$11;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnDismissListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -3069,250 +1933,65 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0082f0: |[0082f0] com.google.android.apps.authenticator.AuthenticatorActivity$11.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -008300: 5b01 1f00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$11;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001f │ │ -008304: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00830a: 0e00 |0005: return-void │ │ +00a0e8: |[00a0e8] com.google.android.apps.authenticator.AuthenticatorActivity$11.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00a0f8: 5b01 1f00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$11;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001f │ │ +00a0fc: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a102: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=983 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$11; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$11;) │ │ name : 'onDismiss' │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00830c: |[00830c] com.google.android.apps.authenticator.AuthenticatorActivity$11.onDismiss:(Landroid/content/DialogInterface;)V │ │ -00831c: 5410 1f00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$11;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001f │ │ -008320: 7110 4001 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1700:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0140 │ │ -008326: 0e00 |0005: return-void │ │ +00a104: |[00a104] com.google.android.apps.authenticator.AuthenticatorActivity$11.onDismiss:(Landroid/content/DialogInterface;)V │ │ +00a114: 5410 1f00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$11;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@001f │ │ +00a118: 7110 4001 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1700:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0140 │ │ +00a11e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=986 │ │ 0x0005 line=987 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$11; │ │ 0x0000 - 0x0006 reg=2 dialog Landroid/content/DialogInterface; │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #14 header: │ │ -class_idx : 156 │ │ -access_flags : 1537 (0x0601) │ │ -superclass_idx : 243 │ │ -source_file_idx : 179 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 0 │ │ -virtual_methods_size: 3 │ │ - │ │ -Class #14 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataimport/ImportController; │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1545 name="Listener" │ │ - │ │ -Class #14 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;' │ │ - Access flags : 0x0601 (PUBLIC INTERFACE ABSTRACT) │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;) │ │ - name : 'onDataImported' │ │ - type : '()V' │ │ - access : 0x0401 (PUBLIC ABSTRACT) │ │ - code : (none) │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;) │ │ - name : 'onFinished' │ │ - type : '()V' │ │ - access : 0x0401 (PUBLIC ABSTRACT) │ │ - code : (none) │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;) │ │ - name : 'onOldAppUninstallSuggested' │ │ - type : '(Landroid/content/Intent;)V' │ │ - access : 0x0401 (PUBLIC ABSTRACT) │ │ - code : (none) │ │ - │ │ - source_file_idx : 179 (ImportController.java) │ │ - │ │ -Class #15 header: │ │ -class_idx : 105 │ │ -access_flags : 0 (0x0000) │ │ -superclass_idx : 243 │ │ -source_file_idx : 68 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 1 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 3 │ │ - │ │ -Class #15 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=importDataFromOldAppIfNecessary │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ - │ │ -Class #15 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;' │ │ - Access flags : 0x0000 () │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;' │ │ - Static fields - │ │ - Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ - name : 'this$0' │ │ - type : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity;' │ │ - access : 0x1010 (FINAL SYNTHETIC) │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ - name : '' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ - access : 0x10000 (CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 1 │ │ - insns size : 6 16-bit code units │ │ -008328: |[008328] com.google.android.apps.authenticator.AuthenticatorActivity$12.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -008338: 5b01 2000 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ -00833c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -008342: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=1178 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ - name : 'onDataImported' │ │ - type : '()V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 25 16-bit code units │ │ -008344: |[008344] com.google.android.apps.authenticator.AuthenticatorActivity$12.onDataImported:()V │ │ -008354: 5420 2000 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ -008358: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ -00835e: 0a00 |0005: move-result v0 │ │ -008360: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -008364: 0e00 |0008: return-void │ │ -008366: 5420 2000 |0009: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ -00836a: 1211 |000b: const/4 v1, #int 1 // #1 │ │ -00836c: 6e20 7101 1000 |000c: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:(Z)V // method@0171 │ │ -008372: 7100 6802 0000 |000f: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -008378: 0c00 |0012: move-result-object v0 │ │ -00837a: 5421 2000 |0013: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ -00837e: 7220 cd01 1000 |0015: invoke-interface {v0, v1}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onDataImportedFromOldApp:(Landroid/content/Context;)V // method@01cd │ │ -008384: 28f0 |0018: goto 0008 // -0010 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=1191 │ │ - 0x0008 line=1199 │ │ - 0x0009 line=1195 │ │ - 0x000f line=1197 │ │ - locals : │ │ - 0x0000 - 0x0019 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ - name : 'onFinished' │ │ - type : '()V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 16 16-bit code units │ │ -008388: |[008388] com.google.android.apps.authenticator.AuthenticatorActivity$12.onFinished:()V │ │ -008398: 5420 2000 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ -00839c: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ -0083a2: 0a00 |0005: move-result v0 │ │ -0083a4: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -0083a8: 0e00 |0008: return-void │ │ -0083aa: 5420 2000 |0009: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ -0083ae: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -0083b0: 7120 4701 1000 |000c: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$2402:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Z)Z // method@0147 │ │ -0083b6: 28f9 |000f: goto 0008 // -0007 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=1203 │ │ - 0x0008 line=1208 │ │ - 0x0009 line=1207 │ │ - locals : │ │ - 0x0000 - 0x0010 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ - name : 'onOldAppUninstallSuggested' │ │ - type : '(Landroid/content/Intent;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 22 16-bit code units │ │ -0083b8: |[0083b8] com.google.android.apps.authenticator.AuthenticatorActivity$12.onOldAppUninstallSuggested:(Landroid/content/Intent;)V │ │ -0083c8: 5420 2000 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ -0083cc: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ -0083d2: 0a00 |0005: move-result v0 │ │ -0083d4: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -0083d8: 0e00 |0008: return-void │ │ -0083da: 5420 2000 |0009: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ -0083de: 7120 4201 3000 |000b: invoke-static {v0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Intent;)Landroid/content/Intent; // method@0142 │ │ -0083e4: 5420 2000 |000e: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ -0083e8: 1301 0c00 |0010: const/16 v1, #int 12 // #c │ │ -0083ec: 6e20 7c01 1000 |0012: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -0083f2: 28f3 |0015: goto 0008 // -000d │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=1181 │ │ - 0x0008 line=1187 │ │ - 0x0009 line=1185 │ │ - 0x000e line=1186 │ │ - locals : │ │ - 0x0000 - 0x0016 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; │ │ - 0x0000 - 0x0016 reg=3 uninstallIntent Landroid/content/Intent; │ │ - │ │ - source_file_idx : 68 (AuthenticatorActivity.java) │ │ - │ │ -Class #16 header: │ │ +Class #9 header: │ │ class_idx : 106 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #16 annotations: │ │ +Class #9 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreate │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #16 - │ │ +Class #9 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/view/View$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -3326,65 +2005,65 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0083f4: |[0083f4] com.google.android.apps.authenticator.AuthenticatorActivity$1.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -008404: 5b01 2100 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0021 │ │ -008408: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00840e: 0e00 |0005: return-void │ │ +00a120: |[00a120] com.google.android.apps.authenticator.AuthenticatorActivity$1.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00a130: 5b01 2100 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0021 │ │ +00a134: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a13a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=239 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$1; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;) │ │ name : 'onClick' │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -008410: |[008410] com.google.android.apps.authenticator.AuthenticatorActivity$1.onClick:(Landroid/view/View;)V │ │ -008420: 5410 2100 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0021 │ │ -008424: 7110 4401 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0144 │ │ -00842a: 0e00 |0005: return-void │ │ +00a13c: |[00a13c] com.google.android.apps.authenticator.AuthenticatorActivity$1.onClick:(Landroid/view/View;)V │ │ +00a14c: 5410 2100 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0021 │ │ +00a150: 7110 4401 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0144 │ │ +00a156: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=242 │ │ 0x0005 line=243 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$1; │ │ 0x0000 - 0x0006 reg=2 v Landroid/view/View; │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #17 header: │ │ +Class #10 header: │ │ class_idx : 107 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #17 annotations: │ │ +Class #10 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreate │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #17 - │ │ +Class #10 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/view/View$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -3398,67 +2077,67 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00842c: |[00842c] com.google.android.apps.authenticator.AuthenticatorActivity$2.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -00843c: 5b01 2200 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0022 │ │ -008440: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -008446: 0e00 |0005: return-void │ │ +00a158: |[00a158] com.google.android.apps.authenticator.AuthenticatorActivity$2.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00a168: 5b01 2200 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0022 │ │ +00a16c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a172: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=245 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$2; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;) │ │ name : 'onClick' │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -008448: |[008448] com.google.android.apps.authenticator.AuthenticatorActivity$2.onClick:(Landroid/view/View;)V │ │ -008458: 5410 2200 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0022 │ │ -00845c: 7110 4801 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0148 │ │ -008462: 0e00 |0005: return-void │ │ +00a174: |[00a174] com.google.android.apps.authenticator.AuthenticatorActivity$2.onClick:(Landroid/view/View;)V │ │ +00a184: 5410 2200 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0022 │ │ +00a188: 7110 4801 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0148 │ │ +00a18e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=248 │ │ 0x0005 line=249 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$2; │ │ 0x0000 - 0x0006 reg=2 v Landroid/view/View; │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #18 header: │ │ +Class #11 header: │ │ class_idx : 108 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #18 annotations: │ │ +Class #11 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreate │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ Annotations on method #273 'onItemClick' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Landroid/widget/AdapterView" "<*>;" "Landroid/view/View;" "IJ)V" } │ │ │ │ -Class #18 - │ │ +Class #11 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/widget/AdapterView$OnItemClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -3472,53 +2151,53 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -008464: |[008464] com.google.android.apps.authenticator.AuthenticatorActivity$3.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -008474: 5b01 2300 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0023 │ │ -008478: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00847e: 0e00 |0005: return-void │ │ +00a190: |[00a190] com.google.android.apps.authenticator.AuthenticatorActivity$3.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00a1a0: 5b01 2300 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0023 │ │ +00a1a4: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a1aa: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=257 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$3; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;) │ │ name : 'onItemClick' │ │ type : '(Landroid/widget/AdapterView;Landroid/view/View;IJ)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 6 │ │ outs : 2 │ │ insns size : 35 16-bit code units │ │ -008480: |[008480] com.google.android.apps.authenticator.AuthenticatorActivity$3.onItemClick:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ -008490: 6e10 a600 0600 |0000: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00a6 │ │ -008496: 0c00 |0003: move-result-object v0 │ │ -008498: 1f00 7500 |0004: check-cast v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // type@0075 │ │ -00849c: 1402 1700 0a7f |0006: const v2, #float 1.83434e+38 // #7f0a0017 │ │ -0084a2: 6e20 a500 2600 |0009: invoke-virtual {v6, v2}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ -0084a8: 0c01 |000c: move-result-object v1 │ │ -0084aa: 3800 0b00 |000d: if-eqz v0, 0018 // +000b │ │ -0084ae: 6e10 a700 0100 |000f: invoke-virtual {v1}, Landroid/view/View;.isEnabled:()Z // method@00a7 │ │ -0084b4: 0a02 |0012: move-result v2 │ │ -0084b6: 3802 0500 |0013: if-eqz v2, 0018 // +0005 │ │ -0084ba: 6e20 2701 6000 |0015: invoke-virtual {v0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.onClick:(Landroid/view/View;)V // method@0127 │ │ -0084c0: 5442 2300 |0018: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0023 │ │ -0084c4: 7110 4901 0200 |001a: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$400:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/widget/ListView; // method@0149 │ │ -0084ca: 0c02 |001d: move-result-object v2 │ │ -0084cc: 1243 |001e: const/4 v3, #int 4 // #4 │ │ -0084ce: 6e20 c500 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/ListView;.sendAccessibilityEvent:(I)V // method@00c5 │ │ -0084d4: 0e00 |0022: return-void │ │ +00a1ac: |[00a1ac] com.google.android.apps.authenticator.AuthenticatorActivity$3.onItemClick:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ +00a1bc: 6e10 a600 0600 |0000: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00a6 │ │ +00a1c2: 0c00 |0003: move-result-object v0 │ │ +00a1c4: 1f00 7500 |0004: check-cast v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // type@0075 │ │ +00a1c8: 1402 1700 0a7f |0006: const v2, #float 1.83434e+38 // #7f0a0017 │ │ +00a1ce: 6e20 a500 2600 |0009: invoke-virtual {v6, v2}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ +00a1d4: 0c01 |000c: move-result-object v1 │ │ +00a1d6: 3800 0b00 |000d: if-eqz v0, 0018 // +000b │ │ +00a1da: 6e10 a700 0100 |000f: invoke-virtual {v1}, Landroid/view/View;.isEnabled:()Z // method@00a7 │ │ +00a1e0: 0a02 |0012: move-result v2 │ │ +00a1e2: 3802 0500 |0013: if-eqz v2, 0018 // +0005 │ │ +00a1e6: 6e20 2701 6000 |0015: invoke-virtual {v0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.onClick:(Landroid/view/View;)V // method@0127 │ │ +00a1ec: 5442 2300 |0018: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0023 │ │ +00a1f0: 7110 4901 0200 |001a: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$400:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/widget/ListView; // method@0149 │ │ +00a1f6: 0c02 |001d: move-result-object v2 │ │ +00a1f8: 1243 |001e: const/4 v3, #int 4 // #4 │ │ +00a1fa: 6e20 c500 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/ListView;.sendAccessibilityEvent:(I)V // method@00c5 │ │ +00a200: 0e00 |0022: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=261 │ │ 0x0006 line=262 │ │ 0x000d line=263 │ │ 0x0015 line=264 │ │ 0x0018 line=266 │ │ @@ -3531,172 +2210,30 @@ │ │ 0x0000 - 0x0023 reg=5 unusedParent Landroid/widget/AdapterView; Landroid/widget/AdapterView<*>; │ │ 0x0000 - 0x0023 reg=6 row Landroid/view/View; │ │ 0x0000 - 0x0023 reg=7 unusedPosition I │ │ 0x0000 - 0x0023 reg=8 unusedId J │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #19 header: │ │ -class_idx : 145 │ │ -access_flags : 1536 (0x0600) │ │ -superclass_idx : 243 │ │ -source_file_idx : 658 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 0 │ │ -virtual_methods_size: 2 │ │ - │ │ -Class #19 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1544 name="Listener" │ │ - │ │ -Class #19 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;' │ │ - Access flags : 0x0600 (INTERFACE ABSTRACT) │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;) │ │ - name : 'onTotpCountdown' │ │ - type : '(J)V' │ │ - access : 0x0401 (PUBLIC ABSTRACT) │ │ - code : (none) │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;) │ │ - name : 'onTotpCounterValueChanged' │ │ - type : '()V' │ │ - access : 0x0401 (PUBLIC ABSTRACT) │ │ - code : (none) │ │ - │ │ - source_file_idx : 658 (TotpCountdownTask.java) │ │ - │ │ -Class #20 header: │ │ -class_idx : 109 │ │ -access_flags : 0 (0x0000) │ │ -superclass_idx : 243 │ │ -source_file_idx : 68 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 1 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 2 │ │ - │ │ -Class #20 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=updateCodesAndStartTotpCountdownTask │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ - │ │ -Class #20 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;' │ │ - Access flags : 0x0000 () │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;' │ │ - Static fields - │ │ - Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;) │ │ - name : 'this$0' │ │ - type : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity;' │ │ - access : 0x1010 (FINAL SYNTHETIC) │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;) │ │ - name : '' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ - access : 0x10000 (CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 1 │ │ - insns size : 6 16-bit code units │ │ -0084d8: |[0084d8] com.google.android.apps.authenticator.AuthenticatorActivity$4.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -0084e8: 5b01 2400 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ -0084ec: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -0084f2: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=350 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$4; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;) │ │ - name : 'onTotpCountdown' │ │ - type : '(J)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 15 16-bit code units │ │ -0084f4: |[0084f4] com.google.android.apps.authenticator.AuthenticatorActivity$4.onTotpCountdown:(J)V │ │ -008504: 5410 2400 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ -008508: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ -00850e: 0a00 |0005: move-result v0 │ │ -008510: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -008514: 0e00 |0008: return-void │ │ -008516: 5410 2400 |0009: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ -00851a: 7130 4a01 2003 |000b: invoke-static {v0, v2, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$500:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;J)V // method@014a │ │ -008520: 28fa |000e: goto 0008 // -0006 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=353 │ │ - 0x0008 line=358 │ │ - 0x0009 line=357 │ │ - locals : │ │ - 0x0000 - 0x000f reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$4; │ │ - 0x0000 - 0x000f reg=2 millisRemaining J │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;) │ │ - name : 'onTotpCounterValueChanged' │ │ - type : '()V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 15 16-bit code units │ │ -008524: |[008524] com.google.android.apps.authenticator.AuthenticatorActivity$4.onTotpCounterValueChanged:()V │ │ -008534: 5410 2400 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ -008538: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ -00853e: 0a00 |0005: move-result v0 │ │ -008540: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -008544: 0e00 |0008: return-void │ │ -008546: 5410 2400 |0009: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ -00854a: 7110 4b01 0000 |000b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$600:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@014b │ │ -008550: 28fa |000e: goto 0008 // -0006 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=362 │ │ - 0x0008 line=367 │ │ - 0x0009 line=366 │ │ - locals : │ │ - 0x0000 - 0x000f reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$4; │ │ - │ │ - source_file_idx : 68 (AuthenticatorActivity.java) │ │ - │ │ -Class #21 header: │ │ +Class #12 header: │ │ class_idx : 110 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 2 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #21 annotations: │ │ +Class #12 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onContextItemSelected │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #21 - │ │ +Class #12 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -3714,75 +2251,75 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -008554: |[008554] com.google.android.apps.authenticator.AuthenticatorActivity$5.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;)V │ │ -008564: 5b01 2500 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0025 │ │ -008568: 5b02 2600 |0002: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.val$user:Ljava/lang/String; // field@0026 │ │ -00856c: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -008572: 0e00 |0007: return-void │ │ +00a204: |[00a204] com.google.android.apps.authenticator.AuthenticatorActivity$5.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;)V │ │ +00a214: 5b01 2500 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0025 │ │ +00a218: 5b02 2600 |0002: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.val$user:Ljava/lang/String; // field@0026 │ │ +00a21c: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a222: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=725 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$5; │ │ - 0x0000 - 0x0008 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0008 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/lang/String; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;) │ │ name : 'onClick' │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 18 16-bit code units │ │ -008574: |[008574] com.google.android.apps.authenticator.AuthenticatorActivity$5.onClick:(Landroid/content/DialogInterface;I)V │ │ -008584: 5420 2500 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0025 │ │ -008588: 7110 3e01 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ -00858e: 0c00 |0005: move-result-object v0 │ │ -008590: 5421 2600 |0006: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.val$user:Ljava/lang/String; // field@0026 │ │ -008594: 6e20 e000 1000 |0008: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AccountDb;.delete:(Ljava/lang/String;)V // method@00e0 │ │ -00859a: 5420 2500 |000b: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0025 │ │ -00859e: 1211 |000d: const/4 v1, #int 1 // #1 │ │ -0085a0: 6e20 7101 1000 |000e: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:(Z)V // method@0171 │ │ -0085a6: 0e00 |0011: return-void │ │ +00a224: |[00a224] com.google.android.apps.authenticator.AuthenticatorActivity$5.onClick:(Landroid/content/DialogInterface;I)V │ │ +00a234: 5420 2500 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0025 │ │ +00a238: 7110 3e01 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ +00a23e: 0c00 |0005: move-result-object v0 │ │ +00a240: 5421 2600 |0006: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.val$user:Ljava/lang/String; // field@0026 │ │ +00a244: 6e20 e000 1000 |0008: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AccountDb;.delete:(Ljava/lang/String;)V // method@00e0 │ │ +00a24a: 5420 2500 |000b: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0025 │ │ +00a24e: 1211 |000d: const/4 v1, #int 1 // #1 │ │ +00a250: 6e20 7101 1000 |000e: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:(Z)V // method@0171 │ │ +00a256: 0e00 |0011: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=728 │ │ 0x000b line=729 │ │ 0x0011 line=730 │ │ locals : │ │ 0x0000 - 0x0012 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$5; │ │ 0x0000 - 0x0012 reg=3 dialog Landroid/content/DialogInterface; │ │ 0x0000 - 0x0012 reg=4 whichButton I │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #22 header: │ │ +Class #13 header: │ │ class_idx : 111 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 4 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #22 annotations: │ │ +Class #13 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=getRenameClickListener │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #22 - │ │ +Class #13 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -3808,116 +2345,119 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/widget/EditText;Ljava/lang/String;Landroid/content/Context;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -0085a8: |[0085a8] com.google.android.apps.authenticator.AuthenticatorActivity$6.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/widget/EditText;Ljava/lang/String;Landroid/content/Context;)V │ │ -0085b8: 5b01 2700 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ -0085bc: 5b02 2900 |0002: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$nameEdit:Landroid/widget/EditText; // field@0029 │ │ -0085c0: 5b03 2a00 |0004: iput-object v3, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ -0085c4: 5b04 2800 |0006: iput-object v4, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$context:Landroid/content/Context; // field@0028 │ │ -0085c8: 7010 3a03 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -0085ce: 0e00 |000b: return-void │ │ +00a258: |[00a258] com.google.android.apps.authenticator.AuthenticatorActivity$6.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/widget/EditText;Ljava/lang/String;Landroid/content/Context;)V │ │ +00a268: 5b01 2700 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ +00a26c: 5b02 2900 |0002: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$nameEdit:Landroid/widget/EditText; // field@0029 │ │ +00a270: 5b03 2a00 |0004: iput-object v3, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ +00a274: 5b04 2800 |0006: iput-object v4, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$context:Landroid/content/Context; // field@0028 │ │ +00a278: 7010 3a03 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a27e: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=743 │ │ locals : │ │ 0x0000 - 0x000c reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$6; │ │ - 0x0000 - 0x000c reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x000c reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ 0x0000 - 0x000c reg=2 (null) Landroid/widget/EditText; │ │ 0x0000 - 0x000c reg=3 (null) Ljava/lang/String; │ │ 0x0000 - 0x000c reg=4 (null) Landroid/content/Context; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;) │ │ name : 'onClick' │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 3 │ │ outs : 6 │ │ insns size : 84 16-bit code units │ │ -0085d0: |[0085d0] com.google.android.apps.authenticator.AuthenticatorActivity$6.onClick:(Landroid/content/DialogInterface;I)V │ │ -0085e0: 5470 2900 |0000: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$nameEdit:Landroid/widget/EditText; // field@0029 │ │ -0085e4: 6e10 bd00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00bd │ │ -0085ea: 0c00 |0005: move-result-object v0 │ │ -0085ec: 6e10 3c03 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@033c │ │ -0085f2: 0c01 |0009: move-result-object v1 │ │ -0085f4: 5470 2a00 |000a: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ -0085f8: 3201 1b00 |000c: if-eq v1, v0, 0027 // +001b │ │ -0085fc: 5470 2700 |000e: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ -008600: 7110 3e01 0000 |0010: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ -008606: 0c00 |0013: move-result-object v0 │ │ -008608: 6e20 ef00 1000 |0014: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AccountDb;.nameExists:(Ljava/lang/String;)Z // method@00ef │ │ -00860e: 0a00 |0017: move-result v0 │ │ -008610: 3800 1000 |0018: if-eqz v0, 0028 // +0010 │ │ -008614: 5470 2800 |001a: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$context:Landroid/content/Context; // field@0028 │ │ -008618: 1402 3300 067f |001c: const v2, #float 1.78118e+38 // #7f060033 │ │ -00861e: 1213 |001f: const/4 v3, #int 1 // #1 │ │ -008620: 7130 d000 2003 |0020: invoke-static {v0, v2, v3}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;II)Landroid/widget/Toast; // method@00d0 │ │ -008626: 0c00 |0023: move-result-object v0 │ │ -008628: 6e10 d100 0000 |0024: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@00d1 │ │ -00862e: 0e00 |0027: return-void │ │ -008630: 5470 2700 |0028: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ -008634: 5472 2700 |002a: iget-object v2, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ -008638: 7110 3e01 0200 |002c: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ -00863e: 0c02 |002f: move-result-object v2 │ │ -008640: 5473 2a00 |0030: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ -008644: 6e20 e800 3200 |0032: invoke-virtual {v2, v3}, Lcom/google/android/apps/authenticator/AccountDb;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@00e8 │ │ -00864a: 0c02 |0035: move-result-object v2 │ │ -00864c: 5473 2a00 |0036: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ -008650: 5474 2700 |0038: iget-object v4, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ -008654: 7110 3e01 0400 |003a: invoke-static {v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ -00865a: 0c04 |003d: move-result-object v4 │ │ -00865c: 5475 2a00 |003e: iget-object v5, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ -008660: 6e20 ea00 5400 |0040: invoke-virtual {v4, v5}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ -008666: 0c04 |0043: move-result-object v4 │ │ -008668: 5475 2700 |0044: iget-object v5, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ -00866c: 7110 3e01 0500 |0046: invoke-static {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ -008672: 0c05 |0049: move-result-object v5 │ │ -008674: 5476 2a00 |004a: iget-object v6, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ -008678: 6e20 e500 6500 |004c: invoke-virtual {v5, v6}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ -00867e: 0c05 |004f: move-result-object v5 │ │ -008680: 7706 3f01 0000 |0050: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@013f │ │ -008686: 28d4 |0053: goto 0027 // -002c │ │ +00a280: |[00a280] com.google.android.apps.authenticator.AuthenticatorActivity$6.onClick:(Landroid/content/DialogInterface;I)V │ │ +00a290: 5470 2900 |0000: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$nameEdit:Landroid/widget/EditText; // field@0029 │ │ +00a294: 6e10 bd00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00bd │ │ +00a29a: 0c00 |0005: move-result-object v0 │ │ +00a29c: 6e10 3c03 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@033c │ │ +00a2a2: 0c01 |0009: move-result-object v1 │ │ +00a2a4: 5470 2a00 |000a: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ +00a2a8: 3201 1b00 |000c: if-eq v1, v0, 0027 // +001b │ │ +00a2ac: 5470 2700 |000e: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ +00a2b0: 7110 3e01 0000 |0010: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ +00a2b6: 0c00 |0013: move-result-object v0 │ │ +00a2b8: 6e20 ef00 1000 |0014: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AccountDb;.nameExists:(Ljava/lang/String;)Z // method@00ef │ │ +00a2be: 0a00 |0017: move-result v0 │ │ +00a2c0: 3800 1000 |0018: if-eqz v0, 0028 // +0010 │ │ +00a2c4: 5470 2800 |001a: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$context:Landroid/content/Context; // field@0028 │ │ +00a2c8: 1402 3300 067f |001c: const v2, #float 1.78118e+38 // #7f060033 │ │ +00a2ce: 1213 |001f: const/4 v3, #int 1 // #1 │ │ +00a2d0: 7130 d000 2003 |0020: invoke-static {v0, v2, v3}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;II)Landroid/widget/Toast; // method@00d0 │ │ +00a2d6: 0c00 |0023: move-result-object v0 │ │ +00a2d8: 6e10 d100 0000 |0024: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@00d1 │ │ +00a2de: 0e00 |0027: return-void │ │ +00a2e0: 5470 2700 |0028: iget-object v0, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ +00a2e4: 5472 2700 |002a: iget-object v2, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ +00a2e8: 7110 3e01 0200 |002c: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ +00a2ee: 0c02 |002f: move-result-object v2 │ │ +00a2f0: 5473 2a00 |0030: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ +00a2f4: 6e20 e800 3200 |0032: invoke-virtual {v2, v3}, Lcom/google/android/apps/authenticator/AccountDb;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@00e8 │ │ +00a2fa: 0c02 |0035: move-result-object v2 │ │ +00a2fc: 5473 2a00 |0036: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ +00a300: 5474 2700 |0038: iget-object v4, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ +00a304: 7110 3e01 0400 |003a: invoke-static {v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ +00a30a: 0c04 |003d: move-result-object v4 │ │ +00a30c: 5475 2a00 |003e: iget-object v5, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ +00a310: 6e20 ea00 5400 |0040: invoke-virtual {v4, v5}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ +00a316: 0c04 |0043: move-result-object v4 │ │ +00a318: 5475 2700 |0044: iget-object v5, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0027 │ │ +00a31c: 7110 3e01 0500 |0046: invoke-static {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; // method@013e │ │ +00a322: 0c05 |0049: move-result-object v5 │ │ +00a324: 5476 2a00 |004a: iget-object v6, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.val$user:Ljava/lang/String; // field@002a │ │ +00a328: 6e20 e500 6500 |004c: invoke-virtual {v5, v6}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ +00a32e: 0c05 |004f: move-result-object v5 │ │ +00a330: 7706 3f01 0000 |0050: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@013f │ │ +00a336: 28d4 |0053: goto 0027 // -002c │ │ catches : (none) │ │ positions : │ │ 0x0000 line=746 │ │ 0x000a line=747 │ │ 0x000e line=748 │ │ 0x001a line=749 │ │ 0x0027 line=756 │ │ 0x0028 line=751 │ │ + 0x002c line=752 │ │ + 0x0046 line=753 │ │ + 0x0050 line=751 │ │ locals : │ │ 0x000a - 0x0054 reg=1 newName Ljava/lang/String; │ │ 0x0000 - 0x0054 reg=7 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$6; │ │ 0x0000 - 0x0054 reg=8 dialog Landroid/content/DialogInterface; │ │ 0x0000 - 0x0054 reg=9 whichButton I │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #23 header: │ │ +Class #14 header: │ │ class_idx : 112 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #23 annotations: │ │ +Class #14 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreateDialog │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #23 - │ │ +Class #14 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -3931,91 +2471,93 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -008688: |[008688] com.google.android.apps.authenticator.AuthenticatorActivity$7.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -008698: 5b01 2b00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002b │ │ -00869c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -0086a2: 0e00 |0005: return-void │ │ +00a338: |[00a338] com.google.android.apps.authenticator.AuthenticatorActivity$7.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00a348: 5b01 2b00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002b │ │ +00a34c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a352: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=886 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$7; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;) │ │ name : 'onClick' │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 39 16-bit code units │ │ -0086a4: |[0086a4] com.google.android.apps.authenticator.AuthenticatorActivity$7.onClick:(Landroid/content/DialogInterface;I)V │ │ -0086b4: 2201 1700 |0000: new-instance v1, Landroid/content/Intent; // type@0017 │ │ -0086b8: 1a02 1903 |0002: const-string v2, "android.intent.action.VIEW" // string@0319 │ │ -0086bc: 1a03 2c05 |0004: const-string v3, "market://search?q=pname:com.google.zxing.client.android" // string@052c │ │ -0086c0: 7110 6c00 0300 |0006: invoke-static {v3}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006c │ │ -0086c6: 0c03 |0009: move-result-object v3 │ │ -0086c8: 7030 3100 2103 |000a: invoke-direct {v1, v2, v3}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0031 │ │ -0086ce: 5442 2b00 |000d: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002b │ │ -0086d2: 6e20 7e01 1200 |000f: invoke-virtual {v2, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ -0086d8: 0e00 |0012: return-void │ │ -0086da: 0d00 |0013: move-exception v0 │ │ -0086dc: 2201 1700 |0014: new-instance v1, Landroid/content/Intent; // type@0017 │ │ -0086e0: 1a02 1903 |0016: const-string v2, "android.intent.action.VIEW" // string@0319 │ │ -0086e4: 1a03 a404 |0018: const-string v3, "https://zxing.googlecode.com/files/BarcodeScanner3.1.apk" // string@04a4 │ │ -0086e8: 7110 6c00 0300 |001a: invoke-static {v3}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006c │ │ -0086ee: 0c03 |001d: move-result-object v3 │ │ -0086f0: 7030 3100 2103 |001e: invoke-direct {v1, v2, v3}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0031 │ │ -0086f6: 5442 2b00 |0021: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002b │ │ -0086fa: 6e20 7e01 1200 |0023: invoke-virtual {v2, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ -008700: 28ec |0026: goto 0012 // -0014 │ │ +00a354: |[00a354] com.google.android.apps.authenticator.AuthenticatorActivity$7.onClick:(Landroid/content/DialogInterface;I)V │ │ +00a364: 2201 1700 |0000: new-instance v1, Landroid/content/Intent; // type@0017 │ │ +00a368: 1a02 1603 |0002: const-string v2, "android.intent.action.VIEW" // string@0316 │ │ +00a36c: 1a03 2605 |0004: const-string v3, "market://search?q=pname:com.google.zxing.client.android" // string@0526 │ │ +00a370: 7110 6c00 0300 |0006: invoke-static {v3}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006c │ │ +00a376: 0c03 |0009: move-result-object v3 │ │ +00a378: 7030 3100 2103 |000a: invoke-direct {v1, v2, v3}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0031 │ │ +00a37e: 5442 2b00 |000d: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002b │ │ +00a382: 6e20 7e01 1200 |000f: invoke-virtual {v2, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ +00a388: 0e00 |0012: return-void │ │ +00a38a: 0d00 |0013: move-exception v0 │ │ +00a38c: 2201 1700 |0014: new-instance v1, Landroid/content/Intent; // type@0017 │ │ +00a390: 1a02 1603 |0016: const-string v2, "android.intent.action.VIEW" // string@0316 │ │ +00a394: 1a03 a004 |0018: const-string v3, "https://zxing.googlecode.com/files/BarcodeScanner3.1.apk" // string@04a0 │ │ +00a398: 7110 6c00 0300 |001a: invoke-static {v3}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006c │ │ +00a39e: 0c03 |001d: move-result-object v3 │ │ +00a3a0: 7030 3100 2103 |001e: invoke-direct {v1, v2, v3}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0031 │ │ +00a3a6: 5442 2b00 |0021: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002b │ │ +00a3aa: 6e20 7e01 1200 |0023: invoke-virtual {v2, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ +00a3b0: 28ec |0026: goto 0012 // -0014 │ │ catches : 1 │ │ 0x000d - 0x0012 │ │ Landroid/content/ActivityNotFoundException; -> 0x0013 │ │ positions : │ │ 0x0000 line=889 │ │ + 0x0006 line=890 │ │ 0x000d line=892 │ │ 0x0012 line=899 │ │ 0x0013 line=894 │ │ 0x0014 line=895 │ │ + 0x001a line=896 │ │ 0x0021 line=897 │ │ locals : │ │ 0x000d - 0x0016 reg=1 intent Landroid/content/Intent; │ │ 0x0014 - 0x0027 reg=0 e Landroid/content/ActivityNotFoundException; │ │ 0x0021 - 0x0027 reg=1 intent Landroid/content/Intent; │ │ 0x0000 - 0x0027 reg=4 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$7; │ │ 0x0000 - 0x0027 reg=5 dialog Landroid/content/DialogInterface; │ │ 0x0000 - 0x0027 reg=6 whichButton I │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #24 header: │ │ +Class #15 header: │ │ class_idx : 113 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 2 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #24 annotations: │ │ +Class #15 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreateDialog │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #24 - │ │ +Class #15 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -4033,81 +2575,86 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -008710: |[008710] com.google.android.apps.authenticator.AuthenticatorActivity$8.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)V │ │ -008720: 5b01 2c00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002c │ │ -008724: 5b02 2d00 |0002: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ -008728: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00872e: 0e00 |0007: return-void │ │ +00a3c0: |[00a3c0] com.google.android.apps.authenticator.AuthenticatorActivity$8.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)V │ │ +00a3d0: 5b01 2c00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002c │ │ +00a3d4: 5b02 2d00 |0002: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ +00a3d8: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a3de: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=913 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$8; │ │ - 0x0000 - 0x0008 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0008 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ 0x0000 - 0x0008 reg=2 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;) │ │ name : 'onClick' │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 6 │ │ insns size : 31 16-bit code units │ │ -008730: |[008730] com.google.android.apps.authenticator.AuthenticatorActivity$8.onClick:(Landroid/content/DialogInterface;I)V │ │ -008740: 5460 2c00 |0000: iget-object v0, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002c │ │ -008744: 5461 2d00 |0002: iget-object v1, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ -008748: 7110 3801 0100 |0004: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; // method@0138 │ │ -00874e: 0c01 |0007: move-result-object v1 │ │ -008750: 5462 2d00 |0008: iget-object v2, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ -008754: 7110 3901 0200 |000a: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1400:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; // method@0139 │ │ -00875a: 0c02 |000d: move-result-object v2 │ │ -00875c: 1203 |000e: const/4 v3, #int 0 // #0 │ │ -00875e: 5464 2d00 |000f: iget-object v4, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ -008762: 7110 3a01 0400 |0011: invoke-static {v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1500:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@013a │ │ -008768: 0c04 |0014: move-result-object v4 │ │ -00876a: 5465 2d00 |0015: iget-object v5, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ -00876e: 7110 3b01 0500 |0017: invoke-static {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1600:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/Integer; // method@013b │ │ -008774: 0c05 |001a: move-result-object v5 │ │ -008776: 7706 3f01 0000 |001b: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@013f │ │ -00877c: 0e00 |001e: return-void │ │ +00a3e0: |[00a3e0] com.google.android.apps.authenticator.AuthenticatorActivity$8.onClick:(Landroid/content/DialogInterface;I)V │ │ +00a3f0: 5460 2c00 |0000: iget-object v0, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002c │ │ +00a3f4: 5461 2d00 |0002: iget-object v1, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ +00a3f8: 7110 3801 0100 |0004: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; // method@0138 │ │ +00a3fe: 0c01 |0007: move-result-object v1 │ │ +00a400: 5462 2d00 |0008: iget-object v2, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ +00a404: 7110 3901 0200 |000a: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1400:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; // method@0139 │ │ +00a40a: 0c02 |000d: move-result-object v2 │ │ +00a40c: 1203 |000e: const/4 v3, #int 0 // #0 │ │ +00a40e: 5464 2d00 |000f: iget-object v4, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ +00a412: 7110 3a01 0400 |0011: invoke-static {v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1500:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@013a │ │ +00a418: 0c04 |0014: move-result-object v4 │ │ +00a41a: 5465 2d00 |0015: iget-object v5, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@002d │ │ +00a41e: 7110 3b01 0500 |0017: invoke-static {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1600:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/Integer; // method@013b │ │ +00a424: 0c05 |001a: move-result-object v5 │ │ +00a426: 7706 3f01 0000 |001b: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@013f │ │ +00a42c: 0e00 |001e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=916 │ │ + 0x0004 line=917 │ │ + 0x000a line=918 │ │ + 0x0011 line=920 │ │ + 0x0017 line=921 │ │ + 0x001b line=916 │ │ 0x001e line=922 │ │ locals : │ │ 0x0000 - 0x001f reg=6 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$8; │ │ 0x0000 - 0x001f reg=7 dialog Landroid/content/DialogInterface; │ │ 0x0000 - 0x001f reg=8 whichButton I │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #25 header: │ │ +Class #16 header: │ │ class_idx : 114 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 2 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #25 annotations: │ │ +Class #16 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreateDialog │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #25 - │ │ +Class #16 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnDismissListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -4125,71 +2672,71 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -008780: |[008780] com.google.android.apps.authenticator.AuthenticatorActivity$9.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)V │ │ -008790: 5b01 2e00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002e │ │ -008794: 5902 2f00 |0002: iput v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.val$id:I // field@002f │ │ -008798: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00879e: 0e00 |0007: return-void │ │ +00a430: |[00a430] com.google.android.apps.authenticator.AuthenticatorActivity$9.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)V │ │ +00a440: 5b01 2e00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002e │ │ +00a444: 5902 2f00 |0002: iput v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.val$id:I // field@002f │ │ +00a448: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a44e: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=930 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$9; │ │ - 0x0000 - 0x0008 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0008 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ 0x0000 - 0x0008 reg=2 (null) I │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;) │ │ name : 'onDismiss' │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 13 16-bit code units │ │ -0087a0: |[0087a0] com.google.android.apps.authenticator.AuthenticatorActivity$9.onDismiss:(Landroid/content/DialogInterface;)V │ │ -0087b0: 5420 2e00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002e │ │ -0087b4: 5221 2f00 |0002: iget v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.val$id:I // field@002f │ │ -0087b8: 6e20 7401 1000 |0004: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.removeDialog:(I)V // method@0174 │ │ -0087be: 5420 2e00 |0007: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002e │ │ -0087c2: 7110 4001 0000 |0009: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1700:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0140 │ │ -0087c8: 0e00 |000c: return-void │ │ +00a450: |[00a450] com.google.android.apps.authenticator.AuthenticatorActivity$9.onDismiss:(Landroid/content/DialogInterface;)V │ │ +00a460: 5420 2e00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002e │ │ +00a464: 5221 2f00 |0002: iget v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.val$id:I // field@002f │ │ +00a468: 6e20 7401 1000 |0004: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.removeDialog:(I)V // method@0174 │ │ +00a46e: 5420 2e00 |0007: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@002e │ │ +00a472: 7110 4001 0000 |0009: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1700:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0140 │ │ +00a478: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=933 │ │ 0x0007 line=934 │ │ 0x000c line=935 │ │ locals : │ │ 0x0000 - 0x000d reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$9; │ │ 0x0000 - 0x000d reg=3 dialog Landroid/content/DialogInterface; │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #26 header: │ │ +Class #17 header: │ │ class_idx : 115 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #26 annotations: │ │ +Class #17 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onClick │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #26 - │ │ +Class #17 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Ljava/lang/Runnable;' │ │ Static fields - │ │ Instance fields - │ │ @@ -4203,73 +2750,73 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0087cc: |[0087cc] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener$1.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)V │ │ -0087dc: 5b01 3000 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0030 │ │ -0087e0: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -0087e6: 0e00 |0005: return-void │ │ +00a47c: |[00a47c] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener$1.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)V │ │ +00a48c: 5b01 3000 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0030 │ │ +00a490: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a496: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1068 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ + 0x0000 - 0x0006 reg=1 this$1 Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;) │ │ name : 'run' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -0087e8: |[0087e8] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener$1.run:()V │ │ -0087f8: 5420 3000 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0030 │ │ -0087fc: 7110 2501 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.access$2000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0125 │ │ -008802: 0c00 |0005: move-result-object v0 │ │ -008804: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -008806: 7120 2d01 1000 |0007: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ -00880c: 5420 3000 |000a: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0030 │ │ -008810: 5400 3500 |000c: iget-object v0, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ -008814: 7110 4301 0000 |000e: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // method@0143 │ │ -00881a: 0c00 |0011: move-result-object v0 │ │ -00881c: 6e10 3501 0000 |0012: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.notifyDataSetChanged:()V // method@0135 │ │ -008822: 0e00 |0015: return-void │ │ +00a498: |[00a498] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener$1.run:()V │ │ +00a4a8: 5420 3000 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0030 │ │ +00a4ac: 7110 2501 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.access$2000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0125 │ │ +00a4b2: 0c00 |0005: move-result-object v0 │ │ +00a4b4: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +00a4b6: 7120 2d01 1000 |0007: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ +00a4bc: 5420 3000 |000a: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0030 │ │ +00a4c0: 5400 3500 |000c: iget-object v0, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ +00a4c4: 7110 4301 0000 |000e: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // method@0143 │ │ +00a4ca: 0c00 |0011: move-result-object v0 │ │ +00a4cc: 6e10 3501 0000 |0012: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.notifyDataSetChanged:()V // method@0135 │ │ +00a4d2: 0e00 |0015: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1071 │ │ 0x000a line=1072 │ │ 0x0015 line=1073 │ │ locals : │ │ 0x0000 - 0x0016 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1; │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #27 header: │ │ +Class #18 header: │ │ class_idx : 116 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 2 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #27 annotations: │ │ +Class #18 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onClick │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #27 - │ │ +Class #18 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Ljava/lang/Runnable;' │ │ Static fields - │ │ Instance fields - │ │ @@ -4287,90 +2834,90 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;Ljava/lang/String;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -008824: |[008824] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener$2.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;Ljava/lang/String;)V │ │ -008834: 5b01 3100 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ -008838: 5b02 3200 |0002: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.val$pin:Ljava/lang/String; // field@0032 │ │ -00883c: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -008842: 0e00 |0007: return-void │ │ +00a4d4: |[00a4d4] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener$2.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;Ljava/lang/String;)V │ │ +00a4e4: 5b01 3100 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ +00a4e8: 5b02 3200 |0002: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.val$pin:Ljava/lang/String; // field@0032 │ │ +00a4ec: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a4f2: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1079 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2; │ │ - 0x0000 - 0x0008 reg=1 (null) Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ + 0x0000 - 0x0008 reg=1 this$1 Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/lang/String; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;) │ │ name : 'run' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 51 16-bit code units │ │ -008844: |[008844] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener$2.run:()V │ │ -008854: 5430 3200 |0000: iget-object v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.val$pin:Ljava/lang/String; // field@0032 │ │ -008858: 5431 3100 |0002: iget-object v1, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ -00885c: 7110 2501 0100 |0004: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.access$2000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0125 │ │ -008862: 0c01 |0007: move-result-object v1 │ │ -008864: 7110 2e01 0100 |0008: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ -00886a: 0c01 |000b: move-result-object v1 │ │ -00886c: 6e20 4403 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -008872: 0a00 |000f: move-result v0 │ │ -008874: 3900 0300 |0010: if-nez v0, 0013 // +0003 │ │ -008878: 0e00 |0012: return-void │ │ -00887a: 5430 3100 |0013: iget-object v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ -00887e: 7110 2501 0000 |0015: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.access$2000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0125 │ │ -008884: 0c00 |0018: move-result-object v0 │ │ -008886: 5431 3100 |0019: iget-object v1, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ -00888a: 5411 3500 |001b: iget-object v1, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ -00888e: 1402 3600 067f |001d: const v2, #float 1.78118e+38 // #7f060036 │ │ -008894: 6e20 5801 2100 |0020: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -00889a: 0c01 |0023: move-result-object v1 │ │ -00889c: 7120 2f01 1000 |0024: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; // method@012f │ │ -0088a2: 5430 3100 |0027: iget-object v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ -0088a6: 5400 3500 |0029: iget-object v0, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ -0088aa: 7110 4301 0000 |002b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // method@0143 │ │ -0088b0: 0c00 |002e: move-result-object v0 │ │ -0088b2: 6e10 3501 0000 |002f: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.notifyDataSetChanged:()V // method@0135 │ │ -0088b8: 28e0 |0032: goto 0012 // -0020 │ │ +00a4f4: |[00a4f4] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener$2.run:()V │ │ +00a504: 5430 3200 |0000: iget-object v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.val$pin:Ljava/lang/String; // field@0032 │ │ +00a508: 5431 3100 |0002: iget-object v1, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ +00a50c: 7110 2501 0100 |0004: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.access$2000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0125 │ │ +00a512: 0c01 |0007: move-result-object v1 │ │ +00a514: 7110 2e01 0100 |0008: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ +00a51a: 0c01 |000b: move-result-object v1 │ │ +00a51c: 6e20 4403 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00a522: 0a00 |000f: move-result v0 │ │ +00a524: 3900 0300 |0010: if-nez v0, 0013 // +0003 │ │ +00a528: 0e00 |0012: return-void │ │ +00a52a: 5430 3100 |0013: iget-object v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ +00a52e: 7110 2501 0000 |0015: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.access$2000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0125 │ │ +00a534: 0c00 |0018: move-result-object v0 │ │ +00a536: 5431 3100 |0019: iget-object v1, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ +00a53a: 5411 3500 |001b: iget-object v1, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ +00a53e: 1402 3600 067f |001d: const v2, #float 1.78118e+38 // #7f060036 │ │ +00a544: 6e20 5801 2100 |0020: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00a54a: 0c01 |0023: move-result-object v1 │ │ +00a54c: 7120 2f01 1000 |0024: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; // method@012f │ │ +00a552: 5430 3100 |0027: iget-object v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // field@0031 │ │ +00a556: 5400 3500 |0029: iget-object v0, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ +00a55a: 7110 4301 0000 |002b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // method@0143 │ │ +00a560: 0c00 |002e: move-result-object v0 │ │ +00a562: 6e10 3501 0000 |002f: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.notifyDataSetChanged:()V // method@0135 │ │ +00a568: 28e0 |0032: goto 0012 // -0020 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1082 │ │ 0x0012 line=1087 │ │ 0x0013 line=1085 │ │ 0x0027 line=1086 │ │ locals : │ │ 0x0000 - 0x0033 reg=3 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2; │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #28 header: │ │ +Class #19 header: │ │ class_idx : 117 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 3 │ │ direct_methods_size : 4 │ │ virtual_methods_size: 1 │ │ │ │ -Class #28 annotations: │ │ +Class #19 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=2 name="NextOtpButtonListener" │ │ │ │ -Class #28 - │ │ +Class #19 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/view/View$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -4392,22 +2939,22 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -0088bc: |[0088bc] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V │ │ -0088cc: 5b12 3500 |0000: iput-object v2, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ -0088d0: 7010 3a03 0100 |0002: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ -0088d6: 2200 2f00 |0005: new-instance v0, Landroid/os/Handler; // type@002f │ │ -0088da: 7010 7a00 0000 |0007: invoke-direct {v0}, Landroid/os/Handler;.:()V // method@007a │ │ -0088e0: 5b10 3400 |000a: iput-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mHandler:Landroid/os/Handler; // field@0034 │ │ -0088e4: 5b13 3300 |000c: iput-object v3, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ -0088e8: 0e00 |000e: return-void │ │ +00a56c: |[00a56c] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V │ │ +00a57c: 5b12 3500 |0000: iput-object v2, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ +00a580: 7010 3a03 0100 |0002: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ +00a586: 2200 2f00 |0005: new-instance v0, Landroid/os/Handler; // type@002f │ │ +00a58a: 7010 7a00 0000 |0007: invoke-direct {v0}, Landroid/os/Handler;.:()V // method@007a │ │ +00a590: 5b10 3400 |000a: iput-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mHandler:Landroid/os/Handler; // field@0034 │ │ +00a594: 5b13 3300 |000c: iput-object v3, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ +00a598: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1040 │ │ 0x0005 line=1037 │ │ 0x000c line=1041 │ │ 0x000e line=1042 │ │ locals : │ │ @@ -4420,17 +2967,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -0088ec: |[0088ec] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V │ │ -0088fc: 7030 2301 1002 |0000: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V // method@0123 │ │ -008902: 0e00 |0003: return-void │ │ +00a59c: |[00a59c] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V │ │ +00a5ac: 7030 2301 1002 |0000: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V // method@0123 │ │ +00a5b2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1036 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ 0x0000 - 0x0004 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ 0x0000 - 0x0004 reg=2 x1 Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ @@ -4441,17 +2988,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008904: |[008904] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.access$2000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ -008914: 5410 3300 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ -008918: 1100 |0002: return-object v0 │ │ +00a5b4: |[00a5b4] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.access$2000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ +00a5c4: 5410 3300 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ +00a5c8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1036 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;) │ │ @@ -4459,32 +3006,32 @@ │ │ type : '()I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 28 16-bit code units │ │ -00891c: |[00891c] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.findAccountPositionInList:()I │ │ -00892c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -00892e: 5442 3500 |0001: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ -008932: 7110 4501 0200 |0003: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$2100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0145 │ │ -008938: 0c02 |0006: move-result-object v2 │ │ -00893a: 2121 |0007: array-length v1, v2 │ │ -00893c: 3510 1200 |0008: if-ge v0, v1, 001a // +0012 │ │ -008940: 5442 3500 |000a: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ -008944: 7110 4501 0200 |000c: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$2100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0145 │ │ -00894a: 0c02 |000f: move-result-object v2 │ │ -00894c: 4602 0200 |0010: aget-object v2, v2, v0 │ │ -008950: 5443 3300 |0012: iget-object v3, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ -008954: 3332 0300 |0014: if-ne v2, v3, 0017 // +0003 │ │ -008958: 0f00 |0016: return v0 │ │ -00895a: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ -00895e: 28ef |0019: goto 0008 // -0011 │ │ -008960: 12f0 |001a: const/4 v0, #int -1 // #ff │ │ -008962: 28fb |001b: goto 0016 // -0005 │ │ +00a5cc: |[00a5cc] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.findAccountPositionInList:()I │ │ +00a5dc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +00a5de: 5442 3500 |0001: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ +00a5e2: 7110 4501 0200 |0003: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$2100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0145 │ │ +00a5e8: 0c02 |0006: move-result-object v2 │ │ +00a5ea: 2121 |0007: array-length v1, v2 │ │ +00a5ec: 3510 1200 |0008: if-ge v0, v1, 001a // +0012 │ │ +00a5f0: 5442 3500 |000a: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ +00a5f4: 7110 4501 0200 |000c: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$2100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // method@0145 │ │ +00a5fa: 0c02 |000f: move-result-object v2 │ │ +00a5fc: 4602 0200 |0010: aget-object v2, v2, v0 │ │ +00a600: 5443 3300 |0012: iget-object v3, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ +00a604: 3332 0300 |0014: if-ne v2, v3, 0017 // +0003 │ │ +00a608: 0f00 |0016: return v0 │ │ +00a60a: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ +00a60e: 28ef |0019: goto 0008 // -0011 │ │ +00a610: 12f0 |001a: const/4 v0, #int -1 // #ff │ │ +00a612: 28fb |001b: goto 0016 // -0005 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1098 │ │ 0x000a line=1099 │ │ 0x0016 line=1104 │ │ 0x0017 line=1098 │ │ 0x001a line=1104 │ │ @@ -4496,72 +3043,72 @@ │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;) │ │ name : 'onClick' │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ - registers : 9 │ │ + registers : 10 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 110 16-bit code units │ │ -008964: |[008964] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.onClick:(Landroid/view/View;)V │ │ -008974: 7010 2601 0700 |0000: invoke-direct {v7}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.findAccountPositionInList:()I // method@0126 │ │ -00897a: 0a02 |0003: move-result v2 │ │ -00897c: 12f3 |0004: const/4 v3, #int -1 // #ff │ │ -00897e: 3332 1d00 |0005: if-ne v2, v3, 0022 // +001d │ │ -008982: 2203 f600 |0007: new-instance v3, Ljava/lang/RuntimeException; // type@00f6 │ │ -008986: 2204 f900 |0009: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ -00898a: 7010 5303 0400 |000b: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -008990: 1a05 3b00 |000e: const-string v5, "Account not in list: " // string@003b │ │ -008994: 6e20 5a03 5400 |0010: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00899a: 0c04 |0013: move-result-object v4 │ │ -00899c: 5475 3300 |0014: iget-object v5, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ -0089a0: 6e20 5903 5400 |0016: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -0089a6: 0c04 |0019: move-result-object v4 │ │ -0089a8: 6e10 5b03 0400 |001a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -0089ae: 0c04 |001d: move-result-object v4 │ │ -0089b0: 7020 3f03 4300 |001e: invoke-direct {v3, v4}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;)V // method@033f │ │ -0089b6: 2703 |0021: throw v3 │ │ -0089b8: 5473 3500 |0022: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ -0089bc: 5474 3300 |0024: iget-object v4, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ -0089c0: 7110 3001 0400 |0026: invoke-static {v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@0130 │ │ -0089c6: 0c04 |0029: move-result-object v4 │ │ -0089c8: 1215 |002a: const/4 v5, #int 1 // #1 │ │ -0089ca: 6e40 4d01 4352 |002b: invoke-virtual {v3, v4, v2, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.computeAndDisplayPin:(Ljava/lang/String;IZ)V // method@014d │ │ -0089d0: 5473 3300 |002e: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ -0089d4: 7110 2e01 0300 |0030: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ -0089da: 0c01 |0033: move-result-object v1 │ │ -0089dc: 5473 3300 |0034: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ -0089e0: 1204 |0036: const/4 v4, #int 0 // #0 │ │ -0089e2: 7120 2d01 4300 |0037: invoke-static {v3, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ -0089e8: 5473 3500 |003a: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ -0089ec: 7110 4301 0300 |003c: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // method@0143 │ │ -0089f2: 0c03 |003f: move-result-object v3 │ │ -0089f4: 6e10 3501 0300 |0040: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.notifyDataSetChanged:()V // method@0135 │ │ -0089fa: 5473 3400 |0043: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mHandler:Landroid/os/Handler; // field@0034 │ │ -0089fe: 2204 7300 |0045: new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1; // type@0073 │ │ -008a02: 7020 1f01 7400 |0047: invoke-direct {v4, v7}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)V // method@011f │ │ -008a08: 1605 8813 |004a: const-wide/16 v5, #int 5000 // #1388 │ │ -008a0c: 6e40 7d00 4365 |004c: invoke-virtual {v3, v4, v5, v6}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@007d │ │ -008a12: 5473 3400 |004f: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mHandler:Landroid/os/Handler; // field@0034 │ │ -008a16: 2204 7400 |0051: new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2; // type@0074 │ │ -008a1a: 7030 2101 7401 |0053: invoke-direct {v4, v7, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;Ljava/lang/String;)V // method@0121 │ │ -008a20: 1705 c0d4 0100 |0056: const-wide/32 v5, #float 1.68156e-40 // #0001d4c0 │ │ -008a26: 6e40 7d00 4365 |0059: invoke-virtual {v3, v4, v5, v6}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@007d │ │ -008a2c: 0e00 |005c: return-void │ │ -008a2e: 0d00 |005d: move-exception v0 │ │ -008a30: 7100 6802 0000 |005e: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -008a36: 0c03 |0061: move-result-object v3 │ │ -008a38: 5474 3500 |0062: iget-object v4, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ -008a3c: 5475 3300 |0064: iget-object v5, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ -008a40: 7110 3001 0500 |0066: invoke-static {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@0130 │ │ -008a46: 0c05 |0069: move-result-object v5 │ │ -008a48: 7240 cc01 4305 |006a: invoke-interface {v3, v4, v5, v0}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityGetNextOtpFailed:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Lcom/google/android/apps/authenticator/OtpSourceException;)V // method@01cc │ │ -008a4e: 28ef |006d: goto 005c // -0011 │ │ +00a614: |[00a614] com.google.android.apps.authenticator.AuthenticatorActivity$NextOtpButtonListener.onClick:(Landroid/view/View;)V │ │ +00a624: 7010 2601 0800 |0000: invoke-direct {v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.findAccountPositionInList:()I // method@0126 │ │ +00a62a: 0a02 |0003: move-result v2 │ │ +00a62c: 12f3 |0004: const/4 v3, #int -1 // #ff │ │ +00a62e: 3332 1d00 |0005: if-ne v2, v3, 0022 // +001d │ │ +00a632: 2203 f600 |0007: new-instance v3, Ljava/lang/RuntimeException; // type@00f6 │ │ +00a636: 2204 f900 |0009: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ +00a63a: 7010 5303 0400 |000b: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00a640: 1a05 3b00 |000e: const-string v5, "Account not in list: " // string@003b │ │ +00a644: 6e20 5a03 5400 |0010: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00a64a: 0c04 |0013: move-result-object v4 │ │ +00a64c: 5485 3300 |0014: iget-object v5, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ +00a650: 6e20 5903 5400 |0016: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00a656: 0c04 |0019: move-result-object v4 │ │ +00a658: 6e10 5b03 0400 |001a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00a65e: 0c04 |001d: move-result-object v4 │ │ +00a660: 7020 3f03 4300 |001e: invoke-direct {v3, v4}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;)V // method@033f │ │ +00a666: 2703 |0021: throw v3 │ │ +00a668: 5483 3500 |0022: iget-object v3, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ +00a66c: 5484 3300 |0024: iget-object v4, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ +00a670: 7110 3001 0400 |0026: invoke-static {v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@0130 │ │ +00a676: 0c04 |0029: move-result-object v4 │ │ +00a678: 1215 |002a: const/4 v5, #int 1 // #1 │ │ +00a67a: 6e40 4d01 4352 |002b: invoke-virtual {v3, v4, v2, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.computeAndDisplayPin:(Ljava/lang/String;IZ)V // method@014d │ │ +00a680: 5483 3300 |002e: iget-object v3, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ +00a684: 7110 2e01 0300 |0030: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ +00a68a: 0c01 |0033: move-result-object v1 │ │ +00a68c: 5483 3300 |0034: iget-object v3, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ +00a690: 1204 |0036: const/4 v4, #int 0 // #0 │ │ +00a692: 7120 2d01 4300 |0037: invoke-static {v3, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ +00a698: 5483 3500 |003a: iget-object v3, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ +00a69c: 7110 4301 0300 |003c: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // method@0143 │ │ +00a6a2: 0c03 |003f: move-result-object v3 │ │ +00a6a4: 6e10 3501 0300 |0040: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.notifyDataSetChanged:()V // method@0135 │ │ +00a6aa: 5483 3400 |0043: iget-object v3, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mHandler:Landroid/os/Handler; // field@0034 │ │ +00a6ae: 2204 7300 |0045: new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1; // type@0073 │ │ +00a6b2: 7020 1f01 8400 |0047: invoke-direct {v4, v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)V // method@011f │ │ +00a6b8: 1606 8813 |004a: const-wide/16 v6, #int 5000 // #1388 │ │ +00a6bc: 6e40 7d00 4376 |004c: invoke-virtual {v3, v4, v6, v7}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@007d │ │ +00a6c2: 5483 3400 |004f: iget-object v3, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mHandler:Landroid/os/Handler; // field@0034 │ │ +00a6c6: 2204 7400 |0051: new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2; // type@0074 │ │ +00a6ca: 7030 2101 8401 |0053: invoke-direct {v4, v8, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;Ljava/lang/String;)V // method@0121 │ │ +00a6d0: 1706 c0d4 0100 |0056: const-wide/32 v6, #float 1.68156e-40 // #0001d4c0 │ │ +00a6d6: 6e40 7d00 4376 |0059: invoke-virtual {v3, v4, v6, v7}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@007d │ │ +00a6dc: 0e00 |005c: return-void │ │ +00a6de: 0d00 |005d: move-exception v0 │ │ +00a6e0: 7100 6802 0000 |005e: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00a6e6: 0c03 |0061: move-result-object v3 │ │ +00a6e8: 5484 3500 |0062: iget-object v4, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0035 │ │ +00a6ec: 5485 3300 |0064: iget-object v5, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0033 │ │ +00a6f0: 7110 3001 0500 |0066: invoke-static {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@0130 │ │ +00a6f6: 0c05 |0069: move-result-object v5 │ │ +00a6f8: 7240 cc01 4305 |006a: invoke-interface {v3, v4, v5, v0}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityGetNextOtpFailed:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Lcom/google/android/apps/authenticator/OtpSourceException;)V // method@01cc │ │ +00a6fe: 28ef |006d: goto 005c // -0011 │ │ catches : 1 │ │ 0x0022 - 0x002e │ │ Lcom/google/android/apps/authenticator/OtpSourceException; -> 0x005d │ │ positions : │ │ 0x0000 line=1046 │ │ 0x0004 line=1047 │ │ 0x0007 line=1048 │ │ @@ -4570,39 +3117,41 @@ │ │ 0x0034 line=1062 │ │ 0x003a line=1063 │ │ 0x0043 line=1067 │ │ 0x004f line=1078 │ │ 0x005c line=1090 │ │ 0x005d line=1053 │ │ 0x005e line=1054 │ │ + 0x0066 line=1055 │ │ + 0x006a line=1054 │ │ locals : │ │ 0x0034 - 0x005c reg=1 pin Ljava/lang/String; │ │ 0x005e - 0x006e reg=0 e Lcom/google/android/apps/authenticator/OtpSourceException; │ │ 0x0004 - 0x006e reg=2 position I │ │ - 0x0000 - 0x006e reg=7 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ - 0x0000 - 0x006e reg=8 v Landroid/view/View; │ │ + 0x0000 - 0x006e reg=8 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ + 0x0000 - 0x006e reg=9 v Landroid/view/View; │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #29 header: │ │ +Class #20 header: │ │ class_idx : 118 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 4 │ │ direct_methods_size : 10 │ │ virtual_methods_size: 0 │ │ │ │ -Class #29 annotations: │ │ +Class #20 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=10 name="PinInfo" │ │ │ │ -Class #29 - │ │ +Class #20 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;) │ │ @@ -4627,19 +3176,19 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -008a60: |[008a60] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.:()V │ │ -008a70: 7010 3a03 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ -008a76: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -008a78: 5c10 3700 |0004: iput-boolean v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.isHotp:Z // field@0037 │ │ -008a7c: 0e00 |0006: return-void │ │ +00a710: |[00a710] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.:()V │ │ +00a720: 7010 3a03 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ +00a726: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +00a728: 5c10 3700 |0004: iput-boolean v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.isHotp:Z // field@0037 │ │ +00a72c: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ 0x0003 line=1019 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ │ │ @@ -4648,17 +3197,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -008a80: |[008a80] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V │ │ -008a90: 7010 2801 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.:()V // method@0128 │ │ -008a96: 0e00 |0003: return-void │ │ +00a730: |[00a730] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V │ │ +00a740: 7010 2801 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.:()V // method@0128 │ │ +00a746: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ 0x0000 - 0x0004 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$1; │ │ │ │ @@ -4667,17 +3216,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008a98: |[008a98] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z │ │ -008aa8: 5510 3700 |0000: iget-boolean v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.isHotp:Z // field@0037 │ │ -008aac: 0f00 |0002: return v0 │ │ +00a748: |[00a748] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z │ │ +00a758: 5510 3700 |0000: iget-boolean v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.isHotp:Z // field@0037 │ │ +00a75c: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;) │ │ @@ -4685,17 +3234,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008ab0: |[008ab0] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$002:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z │ │ -008ac0: 5c01 3700 |0000: iput-boolean v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.isHotp:Z // field@0037 │ │ -008ac4: 0f01 |0002: return v1 │ │ +00a760: |[00a760] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$002:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z │ │ +00a770: 5c01 3700 |0000: iput-boolean v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.isHotp:Z // field@0037 │ │ +00a774: 0f01 |0002: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ 0x0000 - 0x0003 reg=1 x1 Z │ │ │ │ @@ -4704,17 +3253,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008ac8: |[008ac8] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z │ │ -008ad8: 5510 3600 |0000: iget-boolean v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.hotpCodeGenerationAllowed:Z // field@0036 │ │ -008adc: 0f00 |0002: return v0 │ │ +00a778: |[00a778] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z │ │ +00a788: 5510 3600 |0000: iget-boolean v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.hotpCodeGenerationAllowed:Z // field@0036 │ │ +00a78c: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ │ │ #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;) │ │ @@ -4722,17 +3271,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008ae0: |[008ae0] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z │ │ -008af0: 5c01 3600 |0000: iput-boolean v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.hotpCodeGenerationAllowed:Z // field@0036 │ │ -008af4: 0f01 |0002: return v1 │ │ +00a790: |[00a790] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z │ │ +00a7a0: 5c01 3600 |0000: iput-boolean v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.hotpCodeGenerationAllowed:Z // field@0036 │ │ +00a7a4: 0f01 |0002: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ 0x0000 - 0x0003 reg=1 x1 Z │ │ │ │ @@ -4741,17 +3290,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008af8: |[008af8] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; │ │ -008b08: 5410 3800 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.pin:Ljava/lang/String; // field@0038 │ │ -008b0c: 1100 |0002: return-object v0 │ │ +00a7a8: |[00a7a8] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; │ │ +00a7b8: 5410 3800 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.pin:Ljava/lang/String; // field@0038 │ │ +00a7bc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ │ │ #7 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;) │ │ @@ -4759,17 +3308,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008b10: |[008b10] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; │ │ -008b20: 5b01 3800 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.pin:Ljava/lang/String; // field@0038 │ │ -008b24: 1101 |0002: return-object v1 │ │ +00a7c0: |[00a7c0] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; │ │ +00a7d0: 5b01 3800 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.pin:Ljava/lang/String; // field@0038 │ │ +00a7d4: 1101 |0002: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ 0x0000 - 0x0003 reg=1 x1 Ljava/lang/String; │ │ │ │ @@ -4778,17 +3327,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008b28: |[008b28] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; │ │ -008b38: 5410 3900 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.user:Ljava/lang/String; // field@0039 │ │ -008b3c: 1100 |0002: return-object v0 │ │ +00a7d8: |[00a7d8] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; │ │ +00a7e8: 5410 3900 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.user:Ljava/lang/String; // field@0039 │ │ +00a7ec: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ │ │ #9 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;) │ │ @@ -4796,44 +3345,44 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008b40: |[008b40] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$902:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; │ │ -008b50: 5b01 3900 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.user:Ljava/lang/String; // field@0039 │ │ -008b54: 1101 |0002: return-object v1 │ │ +00a7f0: |[00a7f0] com.google.android.apps.authenticator.AuthenticatorActivity$PinInfo.access$902:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; │ │ +00a800: 5b01 3900 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.user:Ljava/lang/String; // field@0039 │ │ +00a804: 1101 |0002: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1016 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ 0x0000 - 0x0003 reg=1 x1 Ljava/lang/String; │ │ │ │ Virtual methods - │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #30 header: │ │ +Class #21 header: │ │ class_idx : 119 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 86 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #30 annotations: │ │ +Class #21 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=2 name="PinListAdapter" │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Landroid/widget/ArrayAdapter" "<" "Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;" ">;" } │ │ │ │ -Class #30 - │ │ +Class #21 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Landroid/widget/ArrayAdapter;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;) │ │ @@ -4846,18 +3395,18 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Context;I[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 4 │ │ insns size : 6 16-bit code units │ │ -008b58: |[008b58] com.google.android.apps.authenticator.AuthenticatorActivity$PinListAdapter.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Context;I[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V │ │ -008b68: 5b01 3a00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ -008b6c: 7040 b600 2043 |0002: invoke-direct {v0, v2, v3, v4}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@00b6 │ │ -008b72: 0e00 |0005: return-void │ │ +00a808: |[00a808] com.google.android.apps.authenticator.AuthenticatorActivity$PinListAdapter.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Context;I[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V │ │ +00a818: 5b01 3a00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ +00a81c: 7040 b600 2043 |0002: invoke-direct {v0, v2, v3, v4}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@00b6 │ │ +00a822: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1115 │ │ 0x0002 line=1116 │ │ 0x0005 line=1117 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ │ @@ -4872,102 +3421,103 @@ │ │ type : '(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 16 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 169 16-bit code units │ │ -008b74: |[008b74] com.google.android.apps.authenticator.AuthenticatorActivity$PinListAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -008b84: 130b 0800 |0000: const/16 v11, #int 8 // #8 │ │ -008b88: 1209 |0002: const/4 v9, #int 0 // #0 │ │ -008b8a: 120a |0003: const/4 v10, #int 0 // #0 │ │ -008b8c: 54c8 3a00 |0004: iget-object v8, v12, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ -008b90: 6e10 5401 0800 |0006: invoke-virtual {v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLayoutInflater:()Landroid/view/LayoutInflater; // method@0154 │ │ -008b96: 0c04 |0009: move-result-object v4 │ │ -008b98: 6e20 3301 dc00 |000a: invoke-virtual {v12, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.getItem:(I)Ljava/lang/Object; // method@0133 │ │ -008b9e: 0c03 |000d: move-result-object v3 │ │ -008ba0: 1f03 7600 |000e: check-cast v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0076 │ │ -008ba4: 380e 7500 |0010: if-eqz v14, 0085 // +0075 │ │ -008ba8: 07e6 |0012: move-object v6, v14 │ │ -008baa: 1408 1600 0a7f |0013: const v8, #float 1.83434e+38 // #7f0a0016 │ │ -008bb0: 6e20 a500 8600 |0016: invoke-virtual {v6, v8}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ -008bb6: 0c05 |0019: move-result-object v5 │ │ -008bb8: 1f05 5e00 |001a: check-cast v5, Landroid/widget/TextView; // type@005e │ │ -008bbc: 1408 1400 0a7f |001c: const v8, #float 1.83434e+38 // #7f0a0014 │ │ -008bc2: 6e20 a500 8600 |001f: invoke-virtual {v6, v8}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ -008bc8: 0c07 |0022: move-result-object v7 │ │ -008bca: 1f07 5e00 |0023: check-cast v7, Landroid/widget/TextView; // type@005e │ │ -008bce: 1408 1700 0a7f |0025: const v8, #float 1.83434e+38 // #7f0a0017 │ │ -008bd4: 6e20 a500 8600 |0028: invoke-virtual {v6, v8}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ -008bda: 0c00 |002b: move-result-object v0 │ │ -008bdc: 1408 1800 0a7f |002c: const v8, #float 1.83434e+38 // #7f0a0018 │ │ -008be2: 6e20 a500 8600 |002f: invoke-virtual {v6, v8}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ -008be8: 0c02 |0032: move-result-object v2 │ │ -008bea: 1f02 7e00 |0033: check-cast v2, Lcom/google/android/apps/authenticator/CountdownIndicator; // type@007e │ │ -008bee: 7110 2a01 0300 |0035: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z // method@012a │ │ -008bf4: 0a08 |0038: move-result v8 │ │ -008bf6: 3808 5400 |0039: if-eqz v8, 008d // +0054 │ │ -008bfa: 6e20 ab00 9000 |003b: invoke-virtual {v0, v9}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -008c00: 7110 2c01 0300 |003e: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z // method@012c │ │ -008c06: 0a08 |0041: move-result v8 │ │ -008c08: 6e20 a800 8000 |0042: invoke-virtual {v0, v8}, Landroid/view/View;.setEnabled:(Z)V // method@00a8 │ │ -008c0e: 0768 |0045: move-object v8, v6 │ │ -008c10: 1f08 4f00 |0046: check-cast v8, Landroid/view/ViewGroup; // type@004f │ │ -008c14: 1509 0600 |0048: const/high16 v9, #int 393216 // #6 │ │ -008c18: 6e20 ae00 9800 |004a: invoke-virtual {v8, v9}, Landroid/view/ViewGroup;.setDescendantFocusability:(I)V // method@00ae │ │ -008c1e: 2201 7500 |004d: new-instance v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // type@0075 │ │ -008c22: 54c8 3a00 |004f: iget-object v8, v12, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ -008c26: 7040 2401 81a3 |0051: invoke-direct {v1, v8, v3, v10}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V // method@0124 │ │ -008c2c: 6e20 a900 1000 |0054: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ -008c32: 6e20 aa00 1600 |0057: invoke-virtual {v6, v1}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00aa │ │ -008c38: 6e20 a001 b200 |005a: invoke-virtual {v2, v11}, Lcom/google/android/apps/authenticator/CountdownIndicator;.setVisibility:(I)V // method@01a0 │ │ -008c3e: 54c8 3a00 |005d: iget-object v8, v12, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ -008c42: 1409 3600 067f |005f: const v9, #float 1.78118e+38 // #7f060036 │ │ -008c48: 6e20 5801 9800 |0062: invoke-virtual {v8, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -008c4e: 0c08 |0065: move-result-object v8 │ │ -008c50: 7110 2e01 0300 |0066: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ -008c56: 0c09 |0069: move-result-object v9 │ │ -008c58: 6e20 4403 9800 |006a: invoke-virtual {v8, v9}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -008c5e: 0a08 |006d: move-result v8 │ │ -008c60: 3808 3500 |006e: if-eqz v8, 00a3 // +0035 │ │ -008c64: 1408 52b8 5e3f |0070: const v8, #float 0.87 // #3f5eb852 │ │ -008c6a: 6e20 ce00 8500 |0073: invoke-virtual {v5, v8}, Landroid/widget/TextView;.setTextScaleX:(F)V // method@00ce │ │ -008c70: 7110 2e01 0300 |0076: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ -008c76: 0c08 |0079: move-result-object v8 │ │ -008c78: 6e20 cd00 8500 |007a: invoke-virtual {v5, v8}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ -008c7e: 7110 3001 0300 |007d: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@0130 │ │ -008c84: 0c08 |0080: move-result-object v8 │ │ -008c86: 6e20 cd00 8700 |0081: invoke-virtual {v7, v8}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ -008c8c: 1106 |0084: return-object v6 │ │ -008c8e: 1408 0a00 037f |0085: const v8, #float 1.74129e+38 // #7f03000a │ │ -008c94: 6e30 9f00 840a |0088: invoke-virtual {v4, v8, v10}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@009f │ │ -008c9a: 0c06 |008b: move-result-object v6 │ │ -008c9c: 2887 |008c: goto 0013 // -0079 │ │ -008c9e: 6e20 ab00 b000 |008d: invoke-virtual {v0, v11}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -008ca4: 6e20 a900 a000 |0090: invoke-virtual {v0, v10}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ -008caa: 6e20 aa00 a600 |0093: invoke-virtual {v6, v10}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00aa │ │ -008cb0: 6e20 a001 9200 |0096: invoke-virtual {v2, v9}, Lcom/google/android/apps/authenticator/CountdownIndicator;.setVisibility:(I)V // method@01a0 │ │ -008cb6: 54c8 3a00 |0099: iget-object v8, v12, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ -008cba: 7110 4601 0800 |009b: invoke-static {v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$2300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)D // method@0146 │ │ -008cc0: 0b08 |009e: move-result-wide v8 │ │ -008cc2: 6e30 9f01 8209 |009f: invoke-virtual {v2, v8, v9}, Lcom/google/android/apps/authenticator/CountdownIndicator;.setPhase:(D)V // method@019f │ │ -008cc8: 28bb |00a2: goto 005d // -0045 │ │ -008cca: 1508 803f |00a3: const/high16 v8, #int 1065353216 // #3f80 │ │ -008cce: 6e20 ce00 8500 |00a5: invoke-virtual {v5, v8}, Landroid/widget/TextView;.setTextScaleX:(F)V // method@00ce │ │ -008cd4: 28ce |00a8: goto 0076 // -0032 │ │ +00a824: |[00a824] com.google.android.apps.authenticator.AuthenticatorActivity$PinListAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +00a834: 130b 0800 |0000: const/16 v11, #int 8 // #8 │ │ +00a838: 1209 |0002: const/4 v9, #int 0 // #0 │ │ +00a83a: 120a |0003: const/4 v10, #int 0 // #0 │ │ +00a83c: 54c8 3a00 |0004: iget-object v8, v12, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ +00a840: 6e10 5401 0800 |0006: invoke-virtual {v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLayoutInflater:()Landroid/view/LayoutInflater; // method@0154 │ │ +00a846: 0c04 |0009: move-result-object v4 │ │ +00a848: 6e20 3301 dc00 |000a: invoke-virtual {v12, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.getItem:(I)Ljava/lang/Object; // method@0133 │ │ +00a84e: 0c03 |000d: move-result-object v3 │ │ +00a850: 1f03 7600 |000e: check-cast v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0076 │ │ +00a854: 380e 7500 |0010: if-eqz v14, 0085 // +0075 │ │ +00a858: 07e6 |0012: move-object v6, v14 │ │ +00a85a: 1408 1600 0a7f |0013: const v8, #float 1.83434e+38 // #7f0a0016 │ │ +00a860: 6e20 a500 8600 |0016: invoke-virtual {v6, v8}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ +00a866: 0c05 |0019: move-result-object v5 │ │ +00a868: 1f05 5e00 |001a: check-cast v5, Landroid/widget/TextView; // type@005e │ │ +00a86c: 1408 1400 0a7f |001c: const v8, #float 1.83434e+38 // #7f0a0014 │ │ +00a872: 6e20 a500 8600 |001f: invoke-virtual {v6, v8}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ +00a878: 0c07 |0022: move-result-object v7 │ │ +00a87a: 1f07 5e00 |0023: check-cast v7, Landroid/widget/TextView; // type@005e │ │ +00a87e: 1408 1700 0a7f |0025: const v8, #float 1.83434e+38 // #7f0a0017 │ │ +00a884: 6e20 a500 8600 |0028: invoke-virtual {v6, v8}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ +00a88a: 0c00 |002b: move-result-object v0 │ │ +00a88c: 1408 1800 0a7f |002c: const v8, #float 1.83434e+38 // #7f0a0018 │ │ +00a892: 6e20 a500 8600 |002f: invoke-virtual {v6, v8}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ +00a898: 0c02 |0032: move-result-object v2 │ │ +00a89a: 1f02 7e00 |0033: check-cast v2, Lcom/google/android/apps/authenticator/CountdownIndicator; // type@007e │ │ +00a89e: 7110 2a01 0300 |0035: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z // method@012a │ │ +00a8a4: 0a08 |0038: move-result v8 │ │ +00a8a6: 3808 5400 |0039: if-eqz v8, 008d // +0054 │ │ +00a8aa: 6e20 ab00 9000 |003b: invoke-virtual {v0, v9}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +00a8b0: 7110 2c01 0300 |003e: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z // method@012c │ │ +00a8b6: 0a08 |0041: move-result v8 │ │ +00a8b8: 6e20 a800 8000 |0042: invoke-virtual {v0, v8}, Landroid/view/View;.setEnabled:(Z)V // method@00a8 │ │ +00a8be: 0768 |0045: move-object v8, v6 │ │ +00a8c0: 1f08 4f00 |0046: check-cast v8, Landroid/view/ViewGroup; // type@004f │ │ +00a8c4: 1509 0600 |0048: const/high16 v9, #int 393216 // #6 │ │ +00a8c8: 6e20 ae00 9800 |004a: invoke-virtual {v8, v9}, Landroid/view/ViewGroup;.setDescendantFocusability:(I)V // method@00ae │ │ +00a8ce: 2201 7500 |004d: new-instance v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; // type@0075 │ │ +00a8d2: 54c8 3a00 |004f: iget-object v8, v12, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ +00a8d6: 7040 2401 81a3 |0051: invoke-direct {v1, v8, v3, v10}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V // method@0124 │ │ +00a8dc: 6e20 a900 1000 |0054: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ +00a8e2: 6e20 aa00 1600 |0057: invoke-virtual {v6, v1}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00aa │ │ +00a8e8: 6e20 a001 b200 |005a: invoke-virtual {v2, v11}, Lcom/google/android/apps/authenticator/CountdownIndicator;.setVisibility:(I)V // method@01a0 │ │ +00a8ee: 54c8 3a00 |005d: iget-object v8, v12, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ +00a8f2: 1409 3600 067f |005f: const v9, #float 1.78118e+38 // #7f060036 │ │ +00a8f8: 6e20 5801 9800 |0062: invoke-virtual {v8, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00a8fe: 0c08 |0065: move-result-object v8 │ │ +00a900: 7110 2e01 0300 |0066: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ +00a906: 0c09 |0069: move-result-object v9 │ │ +00a908: 6e20 4403 9800 |006a: invoke-virtual {v8, v9}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00a90e: 0a08 |006d: move-result v8 │ │ +00a910: 3808 3500 |006e: if-eqz v8, 00a3 // +0035 │ │ +00a914: 1408 52b8 5e3f |0070: const v8, #float 0.87 // #3f5eb852 │ │ +00a91a: 6e20 ce00 8500 |0073: invoke-virtual {v5, v8}, Landroid/widget/TextView;.setTextScaleX:(F)V // method@00ce │ │ +00a920: 7110 2e01 0300 |0076: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ +00a926: 0c08 |0079: move-result-object v8 │ │ +00a928: 6e20 cd00 8500 |007a: invoke-virtual {v5, v8}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ +00a92e: 7110 3001 0300 |007d: invoke-static {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@0130 │ │ +00a934: 0c08 |0080: move-result-object v8 │ │ +00a936: 6e20 cd00 8700 |0081: invoke-virtual {v7, v8}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ +00a93c: 1106 |0084: return-object v6 │ │ +00a93e: 1408 0a00 037f |0085: const v8, #float 1.74129e+38 // #7f03000a │ │ +00a944: 6e30 9f00 840a |0088: invoke-virtual {v4, v8, v10}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@009f │ │ +00a94a: 0c06 |008b: move-result-object v6 │ │ +00a94c: 2887 |008c: goto 0013 // -0079 │ │ +00a94e: 6e20 ab00 b000 |008d: invoke-virtual {v0, v11}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +00a954: 6e20 a900 a000 |0090: invoke-virtual {v0, v10}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ +00a95a: 6e20 aa00 a600 |0093: invoke-virtual {v6, v10}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00aa │ │ +00a960: 6e20 a001 9200 |0096: invoke-virtual {v2, v9}, Lcom/google/android/apps/authenticator/CountdownIndicator;.setVisibility:(I)V // method@01a0 │ │ +00a966: 54c8 3a00 |0099: iget-object v8, v12, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@003a │ │ +00a96a: 7110 4601 0800 |009b: invoke-static {v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$2300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)D // method@0146 │ │ +00a970: 0b08 |009e: move-result-wide v8 │ │ +00a972: 6e30 9f01 8209 |009f: invoke-virtual {v2, v8, v9}, Lcom/google/android/apps/authenticator/CountdownIndicator;.setPhase:(D)V // method@019f │ │ +00a978: 28bb |00a2: goto 005d // -0045 │ │ +00a97a: 1508 803f |00a3: const/high16 v8, #int 1065353216 // #3f80 │ │ +00a97e: 6e20 ce00 8500 |00a5: invoke-virtual {v5, v8}, Landroid/widget/TextView;.setTextScaleX:(F)V // method@00ce │ │ +00a984: 28ce |00a8: goto 0076 // -0032 │ │ catches : (none) │ │ positions : │ │ 0x0004 line=1125 │ │ 0x000a line=1126 │ │ 0x0010 line=1129 │ │ 0x0012 line=1131 │ │ 0x0013 line=1136 │ │ 0x001c line=1137 │ │ 0x0025 line=1138 │ │ 0x002c line=1139 │ │ + 0x002f line=1140 │ │ 0x0035 line=1142 │ │ 0x003b line=1143 │ │ 0x003e line=1144 │ │ 0x0046 line=1145 │ │ 0x004d line=1147 │ │ 0x0054 line=1148 │ │ 0x0057 line=1149 │ │ @@ -5001,30 +3551,30 @@ │ │ 0x0000 - 0x00a9 reg=12 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ │ 0x0000 - 0x00a9 reg=13 position I │ │ 0x0000 - 0x00a9 reg=14 convertView Landroid/view/View; │ │ 0x0000 - 0x00a9 reg=15 parent Landroid/view/ViewGroup; │ │ │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #31 header: │ │ +Class #22 header: │ │ class_idx : 120 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 68 │ │ static_fields_size : 0 │ │ instance_fields_size: 4 │ │ direct_methods_size : 6 │ │ virtual_methods_size: 0 │ │ │ │ -Class #31 annotations: │ │ +Class #22 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=10 name="SaveKeyDialogParams" │ │ │ │ -Class #31 - │ │ +Class #22 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Ljava/io/Serializable;' │ │ Static fields - │ │ Instance fields - │ │ @@ -5050,21 +3600,21 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -008cd8: |[008cd8] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.:(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ -008ce8: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -008cee: 5b01 3e00 |0003: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.user:Ljava/lang/String; // field@003e │ │ -008cf2: 5b02 3c00 |0005: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.secret:Ljava/lang/String; // field@003c │ │ -008cf6: 5b03 3d00 |0007: iput-object v3, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.type:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@003d │ │ -008cfa: 5b04 3b00 |0009: iput-object v4, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.counter:Ljava/lang/Integer; // field@003b │ │ -008cfe: 0e00 |000b: return-void │ │ +00a988: |[00a988] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.:(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ +00a998: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00a99e: 5b01 3e00 |0003: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.user:Ljava/lang/String; // field@003e │ │ +00a9a2: 5b02 3c00 |0005: iput-object v2, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.secret:Ljava/lang/String; // field@003c │ │ +00a9a6: 5b03 3d00 |0007: iput-object v3, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.type:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@003d │ │ +00a9aa: 5b04 3b00 |0009: iput-object v4, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.counter:Ljava/lang/Integer; // field@003b │ │ +00a9ae: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1221 │ │ 0x0003 line=1222 │ │ 0x0005 line=1223 │ │ 0x0007 line=1224 │ │ 0x0009 line=1225 │ │ @@ -5081,17 +3631,17 @@ │ │ type : '(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 6 │ │ outs : 5 │ │ insns size : 4 16-bit code units │ │ -008d00: |[008d00] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.:(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V │ │ -008d10: 7054 3601 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.:(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@0136 │ │ -008d16: 0e00 |0003: return-void │ │ +00a9b0: |[00a9b0] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.:(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V │ │ +00a9c0: 7054 3601 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.:(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@0136 │ │ +00a9c6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1215 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ 0x0000 - 0x0004 reg=1 x0 Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 x1 Ljava/lang/String; │ │ @@ -5104,17 +3654,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008d18: |[008d18] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.access$1300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; │ │ -008d28: 5410 3e00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.user:Ljava/lang/String; // field@003e │ │ -008d2c: 1100 |0002: return-object v0 │ │ +00a9c8: |[00a9c8] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.access$1300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; │ │ +00a9d8: 5410 3e00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.user:Ljava/lang/String; // field@003e │ │ +00a9dc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1215 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;) │ │ @@ -5122,17 +3672,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008d30: |[008d30] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.access$1400:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; │ │ -008d40: 5410 3c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.secret:Ljava/lang/String; // field@003c │ │ -008d44: 1100 |0002: return-object v0 │ │ +00a9e0: |[00a9e0] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.access$1400:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; │ │ +00a9f0: 5410 3c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.secret:Ljava/lang/String; // field@003c │ │ +00a9f4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1215 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;) │ │ @@ -5140,17 +3690,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Lcom/google/android/apps/authenticator/AccountDb$OtpType;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008d48: |[008d48] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.access$1500:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ -008d58: 5410 3d00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.type:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@003d │ │ -008d5c: 1100 |0002: return-object v0 │ │ +00a9f8: |[00a9f8] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.access$1500:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ +00aa08: 5410 3d00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.type:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@003d │ │ +00aa0c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1215 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ │ │ #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;) │ │ @@ -5158,2536 +3708,37 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/Integer;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -008d60: |[008d60] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.access$1600:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/Integer; │ │ -008d70: 5410 3b00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.counter:Ljava/lang/Integer; // field@003b │ │ -008d74: 1100 |0002: return-object v0 │ │ +00aa10: |[00aa10] com.google.android.apps.authenticator.AuthenticatorActivity$SaveKeyDialogParams.access$1600:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/Integer; │ │ +00aa20: 5410 3b00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.counter:Ljava/lang/Integer; // field@003b │ │ +00aa24: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1215 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ │ │ Virtual methods - │ │ source_file_idx : 68 (AuthenticatorActivity.java) │ │ │ │ -Class #32 header: │ │ -class_idx : 121 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 170 │ │ -source_file_idx : 68 │ │ -static_fields_size : 22 │ │ -instance_fields_size: 16 │ │ -direct_methods_size : 39 │ │ -virtual_methods_size: 16 │ │ - │ │ -Class #32 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; } │ │ -Annotations on method #333 'computeAndDisplayPin' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ - │ │ -Class #32 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/testability/TestableActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'ACTION_SCAN_BARCODE' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x0018 (STATIC FINAL) │ │ - value : null │ │ - #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'CHECK_KEY_VALUE_ID' │ │ - type : 'I' │ │ - access : 0x0019 (PUBLIC STATIC FINAL) │ │ - value : 0 │ │ - #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'COPY_TO_CLIPBOARD_ID' │ │ - type : 'I' │ │ - access : 0x0018 (STATIC FINAL) │ │ - value : 3 │ │ - #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'COUNTER_PARAM' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "counter" │ │ - #4 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'DIALOG_ID_SAVE_KEY' │ │ - type : 'I' │ │ - access : 0x0018 (STATIC FINAL) │ │ - value : 13 │ │ - #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'DIALOG_ID_UNINSTALL_OLD_APP' │ │ - type : 'I' │ │ - access : 0x0018 (STATIC FINAL) │ │ - value : 12 │ │ - #6 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'HOTP' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "hotp" │ │ - #7 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'HOTP_DISPLAY_TIMEOUT' │ │ - type : 'J' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : 120000 │ │ - #8 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'HOTP_MIN_TIME_INTERVAL_BETWEEN_CODES' │ │ - type : 'J' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : 5000 │ │ - #9 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'KEY_OLD_APP_UNINSTALL_INTENT' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "oldAppUninstallIntent" │ │ - #10 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'KEY_SAVE_KEY_DIALOG_PARAMS' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "saveKeyDialogParams" │ │ - #11 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'LOCAL_TAG' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "AuthenticatorActivity" │ │ - #12 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'OTP_SCHEME' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "otpauth" │ │ - #13 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'PIN_TEXT_SCALEX_NORMAL' │ │ - type : 'F' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : 1 │ │ - #14 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'PIN_TEXT_SCALEX_UNDERSCORE' │ │ - type : 'F' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : 0.87 │ │ - #15 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'REMOVE_ID' │ │ - type : 'I' │ │ - access : 0x0019 (PUBLIC STATIC FINAL) │ │ - value : 2 │ │ - #16 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'RENAME_ID' │ │ - type : 'I' │ │ - access : 0x0019 (PUBLIC STATIC FINAL) │ │ - value : 1 │ │ - #17 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'SCAN_REQUEST' │ │ - type : 'I' │ │ - access : 0x0018 (STATIC FINAL) │ │ - value : 31337 │ │ - #18 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'SECRET_PARAM' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "secret" │ │ - #19 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'TOTP' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "totp" │ │ - #20 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'TOTP_COUNTDOWN_REFRESH_PERIOD' │ │ - type : 'J' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : 100 │ │ - #21 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'VIBRATE_DURATION' │ │ - type : 'J' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : 200 │ │ - Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mAccountDb' │ │ - type : 'Lcom/google/android/apps/authenticator/AccountDb;' │ │ - access : 0x0002 (PRIVATE) │ │ - #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mContentAccountsPresent' │ │ - type : 'Landroid/view/View;' │ │ - access : 0x0002 (PRIVATE) │ │ - #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mContentNoAccounts' │ │ - type : 'Landroid/view/View;' │ │ - access : 0x0002 (PRIVATE) │ │ - #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mDataImportInProgress' │ │ - type : 'Z' │ │ - access : 0x0002 (PRIVATE) │ │ - #4 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mEnterPinPrompt' │ │ - type : 'Landroid/widget/TextView;' │ │ - access : 0x0002 (PRIVATE) │ │ - #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mOldAppUninstallIntent' │ │ - type : 'Landroid/content/Intent;' │ │ - access : 0x0002 (PRIVATE) │ │ - #6 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mOtpProvider' │ │ - type : 'Lcom/google/android/apps/authenticator/OtpSource;' │ │ - access : 0x0002 (PRIVATE) │ │ - #7 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mSaveKeyDialogParams' │ │ - type : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;' │ │ - access : 0x0002 (PRIVATE) │ │ - #8 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mSaveKeyIntentConfirmationInProgress' │ │ - type : 'Z' │ │ - access : 0x0002 (PRIVATE) │ │ - #9 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mTotpClock' │ │ - type : 'Lcom/google/android/apps/authenticator/TotpClock;' │ │ - access : 0x0002 (PRIVATE) │ │ - #10 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mTotpCountdownPhase' │ │ - type : 'D' │ │ - access : 0x0002 (PRIVATE) │ │ - #11 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mTotpCountdownTask' │ │ - type : 'Lcom/google/android/apps/authenticator/TotpCountdownTask;' │ │ - access : 0x0002 (PRIVATE) │ │ - #12 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mTotpCounter' │ │ - type : 'Lcom/google/android/apps/authenticator/TotpCounter;' │ │ - access : 0x0002 (PRIVATE) │ │ - #13 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mUserAdapter' │ │ - type : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;' │ │ - access : 0x0002 (PRIVATE) │ │ - #14 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mUserList' │ │ - type : 'Landroid/widget/ListView;' │ │ - access : 0x0002 (PRIVATE) │ │ - #15 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'mUsers' │ │ - type : '[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;' │ │ - access : 0x0002 (PRIVATE) │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10008 (STATIC CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 0 │ │ - outs : 2 │ │ - insns size : 28 16-bit code units │ │ -008d78: |[008d78] com.google.android.apps.authenticator.AuthenticatorActivity.:()V │ │ -008d88: 2200 f900 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@00f9 │ │ -008d8c: 7010 5303 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -008d92: 1c01 7900 |0005: const-class v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity; // type@0079 │ │ -008d96: 6e10 1903 0100 |0007: invoke-virtual {v1}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0319 │ │ -008d9c: 0c01 |000a: move-result-object v1 │ │ -008d9e: 6e20 5a03 1000 |000b: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -008da4: 0c00 |000e: move-result-object v0 │ │ -008da6: 1a01 1b00 |000f: const-string v1, ".ScanBarcode" // string@001b │ │ -008daa: 6e20 5a03 1000 |0011: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -008db0: 0c00 |0014: move-result-object v0 │ │ -008db2: 6e10 5b03 0000 |0015: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -008db8: 0c00 |0018: move-result-object v0 │ │ -008dba: 6900 3f00 |0019: sput-object v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.ACTION_SCAN_BARCODE:Ljava/lang/String; // field@003f │ │ -008dbe: 0e00 |001b: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=107 │ │ - locals : │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 9 16-bit code units │ │ -008dc0: |[008dc0] com.google.android.apps.authenticator.AuthenticatorActivity.:()V │ │ -008dd0: 7010 7e02 0100 |0000: invoke-direct {v1}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.:()V // method@027e │ │ -008dd6: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -008dd8: 2300 3001 |0004: new-array v0, v0, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ -008ddc: 5b10 6400 |0006: iput-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -008de0: 0e00 |0008: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - 0x0003 line=115 │ │ - 0x0008 line=1215 │ │ - locals : │ │ - 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$1100' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb;' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -008de4: |[008de4] com.google.android.apps.authenticator.AuthenticatorActivity.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; │ │ -008df4: 5410 5500 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ -008df8: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$1200' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 6 │ │ - ins : 6 │ │ - outs : 6 │ │ - insns size : 4 16-bit code units │ │ -008dfc: |[008dfc] com.google.android.apps.authenticator.AuthenticatorActivity.access$1200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ -008e0c: 7606 7601 0000 |0000: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.saveSecretAndRefreshUserList:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@0176 │ │ -008e12: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0004 reg=1 x1 Ljava/lang/String; │ │ - 0x0000 - 0x0004 reg=2 x2 Ljava/lang/String; │ │ - 0x0000 - 0x0004 reg=3 x3 Ljava/lang/String; │ │ - 0x0000 - 0x0004 reg=4 x4 Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0000 - 0x0004 reg=5 x5 Ljava/lang/Integer; │ │ - │ │ - #4 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$1700' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -008e14: |[008e14] com.google.android.apps.authenticator.AuthenticatorActivity.access$1700:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -008e24: 7010 6c01 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.onSaveKeyIntentConfirmationPromptDismissed:()V // method@016c │ │ -008e2a: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$1800' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/content/Intent;' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -008e2c: |[008e2c] com.google.android.apps.authenticator.AuthenticatorActivity.access$1800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/content/Intent; │ │ -008e3c: 5410 5a00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOldAppUninstallIntent:Landroid/content/Intent; // field@005a │ │ -008e40: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #6 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$1802' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Intent;)Landroid/content/Intent;' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -008e44: |[008e44] com.google.android.apps.authenticator.AuthenticatorActivity.access$1802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Intent;)Landroid/content/Intent; │ │ -008e54: 5b01 5a00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOldAppUninstallIntent:Landroid/content/Intent; // field@005a │ │ -008e58: 1101 |0002: return-object v1 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0003 reg=1 x1 Landroid/content/Intent; │ │ - │ │ - #7 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$1900' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -008e5c: |[008e5c] com.google.android.apps.authenticator.AuthenticatorActivity.access$1900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ │ -008e6c: 5410 6200 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ -008e70: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #8 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$200' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -008e74: |[008e74] com.google.android.apps.authenticator.AuthenticatorActivity.access$200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -008e84: 7010 4f01 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.displayHowItWorksInstructions:()V // method@014f │ │ -008e8a: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #9 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$2100' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -008e8c: |[008e8c] com.google.android.apps.authenticator.AuthenticatorActivity.access$2100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ -008e9c: 5410 6400 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -008ea0: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #10 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$2300' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)D' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -008ea4: |[008ea4] com.google.android.apps.authenticator.AuthenticatorActivity.access$2300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)D │ │ -008eb4: 5320 5f00 |0000: iget-wide v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownPhase:D // field@005f │ │ -008eb8: 1000 |0002: return-wide v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=2 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #11 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$2402' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Z)Z' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -008ebc: |[008ebc] com.google.android.apps.authenticator.AuthenticatorActivity.access$2402:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Z)Z │ │ -008ecc: 5c01 5800 |0000: iput-boolean v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mDataImportInProgress:Z // field@0058 │ │ -008ed0: 0f01 |0002: return v1 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0003 reg=1 x1 Z │ │ - │ │ - #12 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$300' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -008ed4: |[008ed4] com.google.android.apps.authenticator.AuthenticatorActivity.access$300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -008ee4: 7010 4c01 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.addAccount:()V // method@014c │ │ -008eea: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #13 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$400' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/widget/ListView;' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -008eec: |[008eec] com.google.android.apps.authenticator.AuthenticatorActivity.access$400:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/widget/ListView; │ │ -008efc: 5410 6300 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -008f00: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #14 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$500' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;J)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 4 16-bit code units │ │ -008f04: |[008f04] com.google.android.apps.authenticator.AuthenticatorActivity.access$500:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;J)V │ │ -008f14: 7030 7b01 1002 |0000: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setTotpCountdownPhaseFromTimeTillNextValue:(J)V // method@017b │ │ -008f1a: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0004 reg=1 x1 J │ │ - │ │ - #15 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'access$600' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -008f1c: |[008f1c] com.google.android.apps.authenticator.AuthenticatorActivity.access$600:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -008f2c: 7010 7201 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshVerificationCodes:()V // method@0172 │ │ -008f32: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #16 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'addAccount' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 8 16-bit code units │ │ -008f34: |[008f34] com.google.android.apps.authenticator.AuthenticatorActivity.addAccount:()V │ │ -008f44: 7100 6802 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -008f4a: 0c00 |0003: move-result-object v0 │ │ -008f4c: 7220 c901 1000 |0004: invoke-interface {v0, v1}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityAddAccount:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@01c9 │ │ -008f52: 0e00 |0007: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=799 │ │ - 0x0007 line=800 │ │ - locals : │ │ - 0x0000 - 0x0008 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #17 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'createOkAlertDialog' │ │ - type : '(III)Landroid/app/Dialog;' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 7 │ │ - ins : 4 │ │ - outs : 3 │ │ - insns size : 30 16-bit code units │ │ -008f54: |[008f54] com.google.android.apps.authenticator.AuthenticatorActivity.createOkAlertDialog:(III)Landroid/app/Dialog; │ │ -008f64: 2200 0900 |0000: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0009 │ │ -008f68: 7020 0700 3000 |0002: invoke-direct {v0, v3}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ -008f6e: 6e20 1000 4000 |0005: invoke-virtual {v0, v4}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ -008f74: 0c00 |0008: move-result-object v0 │ │ -008f76: 6e20 0b00 5000 |0009: invoke-virtual {v0, v5}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ -008f7c: 0c00 |000c: move-result-object v0 │ │ -008f7e: 6e20 0a00 6000 |000d: invoke-virtual {v0, v6}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ -008f84: 0c00 |0010: move-result-object v0 │ │ -008f86: 1401 3700 067f |0011: const v1, #float 1.78118e+38 // #7f060037 │ │ -008f8c: 1202 |0014: const/4 v2, #int 0 // #0 │ │ -008f8e: 6e30 0f00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ -008f94: 0c00 |0018: move-result-object v0 │ │ -008f96: 6e10 0800 0000 |0019: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ -008f9c: 0c00 |001c: move-result-object v0 │ │ -008f9e: 1100 |001d: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=1003 │ │ - locals : │ │ - 0x0000 - 0x001e reg=3 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x001e reg=4 titleId I │ │ - 0x0000 - 0x001e reg=5 messageId I │ │ - 0x0000 - 0x001e reg=6 iconId I │ │ - │ │ - #18 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'displayHowItWorksInstructions' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 11 16-bit code units │ │ -008fa0: |[008fa0] com.google.android.apps.authenticator.AuthenticatorActivity.displayHowItWorksInstructions:()V │ │ -008fb0: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ -008fb4: 1c01 a200 |0002: const-class v1, Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity; // type@00a2 │ │ -008fb8: 7030 2f00 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ -008fbe: 6e20 7e01 0200 |0007: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ -008fc4: 0e00 |000a: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=795 │ │ - 0x000a line=796 │ │ - locals : │ │ - 0x0000 - 0x000b reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #19 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'getLaunchIntentActionScanBarcode' │ │ - type : '(Landroid/content/Context;)Landroid/content/Intent;' │ │ - access : 0x0009 (PUBLIC STATIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 19 16-bit code units │ │ -008fc8: |[008fc8] com.google.android.apps.authenticator.AuthenticatorActivity.getLaunchIntentActionScanBarcode:(Landroid/content/Context;)Landroid/content/Intent; │ │ -008fd8: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ -008fdc: 6201 3f00 |0002: sget-object v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.ACTION_SCAN_BARCODE:Ljava/lang/String; // field@003f │ │ -008fe0: 7020 3000 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0030 │ │ -008fe6: 2201 0f00 |0007: new-instance v1, Landroid/content/ComponentName; // type@000f │ │ -008fea: 1c02 7900 |0009: const-class v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity; // type@0079 │ │ -008fee: 7030 1c00 3102 |000b: invoke-direct {v1, v3, v2}, Landroid/content/ComponentName;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@001c │ │ -008ff4: 6e20 3c00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setComponent:(Landroid/content/ComponentName;)Landroid/content/Intent; // method@003c │ │ -008ffa: 0c00 |0011: move-result-object v0 │ │ -008ffc: 1100 |0012: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=814 │ │ - locals : │ │ - 0x0000 - 0x0013 reg=3 context Landroid/content/Context; │ │ - │ │ - #20 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'getRenameClickListener' │ │ - type : '(Landroid/content/Context;Ljava/lang/String;Landroid/widget/EditText;)Landroid/content/DialogInterface$OnClickListener;' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 5 │ │ - ins : 4 │ │ - outs : 5 │ │ - insns size : 6 16-bit code units │ │ -009000: |[009000] com.google.android.apps.authenticator.AuthenticatorActivity.getRenameClickListener:(Landroid/content/Context;Ljava/lang/String;Landroid/widget/EditText;)Landroid/content/DialogInterface$OnClickListener; │ │ -009010: 2200 6f00 |0000: new-instance v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6; // type@006f │ │ -009014: 7052 1701 1034 |0002: invoke-direct {v0, v1, v4, v3, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/widget/EditText;Ljava/lang/String;Landroid/content/Context;)V // method@0117 │ │ -00901a: 1100 |0005: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=743 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0006 reg=2 context Landroid/content/Context; │ │ - 0x0000 - 0x0006 reg=3 user Ljava/lang/String; │ │ - 0x0000 - 0x0006 reg=4 nameEdit Landroid/widget/EditText; │ │ - │ │ - #21 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'handleIntent' │ │ - type : '(Landroid/content/Intent;)V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 5 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 36 16-bit code units │ │ -00901c: |[00901c] com.google.android.apps.authenticator.AuthenticatorActivity.handleIntent:(Landroid/content/Intent;)V │ │ -00902c: 3904 0300 |0000: if-nez v4, 0003 // +0003 │ │ -009030: 0e00 |0002: return-void │ │ -009032: 6e10 3300 0400 |0003: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@0033 │ │ -009038: 0c00 |0006: move-result-object v0 │ │ -00903a: 3800 fbff |0007: if-eqz v0, 0002 // -0005 │ │ -00903e: 6201 3f00 |0009: sget-object v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.ACTION_SCAN_BARCODE:Ljava/lang/String; // field@003f │ │ -009042: 6e20 4403 0100 |000b: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -009048: 0a01 |000e: move-result v1 │ │ -00904a: 3801 0600 |000f: if-eqz v1, 0015 // +0006 │ │ -00904e: 7010 7701 0300 |0011: invoke-direct {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.scanBarcode:()V // method@0177 │ │ -009054: 28ee |0014: goto 0002 // -0012 │ │ -009056: 6e10 3400 0400 |0015: invoke-virtual {v4}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@0034 │ │ -00905c: 0c01 |0018: move-result-object v1 │ │ -00905e: 3801 e9ff |0019: if-eqz v1, 0002 // -0017 │ │ -009062: 6e10 3400 0400 |001b: invoke-virtual {v4}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@0034 │ │ -009068: 0c01 |001e: move-result-object v1 │ │ -00906a: 1212 |001f: const/4 v2, #int 1 // #1 │ │ -00906c: 7030 5e01 1302 |0020: invoke-direct {v3, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.interpretScanResult:(Landroid/net/Uri;Z)V // method@015e │ │ -009072: 28df |0023: goto 0002 // -0021 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=285 │ │ - 0x0002 line=299 │ │ - 0x0003 line=289 │ │ - 0x0007 line=290 │ │ - 0x0009 line=294 │ │ - 0x0011 line=295 │ │ - 0x0015 line=296 │ │ - 0x001b line=297 │ │ - locals : │ │ - 0x0007 - 0x0024 reg=0 action Ljava/lang/String; │ │ - 0x0000 - 0x0024 reg=3 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0024 reg=4 intent Landroid/content/Intent; │ │ - │ │ - #22 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'idToEmail' │ │ - type : '(J)Ljava/lang/String;' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 5 │ │ - ins : 3 │ │ - outs : 1 │ │ - insns size : 10 16-bit code units │ │ -009074: |[009074] com.google.android.apps.authenticator.AuthenticatorActivity.idToEmail:(J)Ljava/lang/String; │ │ -009084: 5420 6400 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -009088: 8431 |0002: long-to-int v1, v3 │ │ -00908a: 4600 0001 |0003: aget-object v0, v0, v1 │ │ -00908e: 7110 3001 0000 |0005: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@0130 │ │ -009094: 0c00 |0008: move-result-object v0 │ │ -009096: 1100 |0009: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=649 │ │ - locals : │ │ - 0x0000 - 0x000a reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x000a reg=3 id J │ │ - │ │ - #23 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'importDataFromOldAppIfNecessary' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 21 16-bit code units │ │ -009098: |[009098] com.google.android.apps.authenticator.AuthenticatorActivity.importDataFromOldAppIfNecessary:()V │ │ -0090a8: 5520 5800 |0000: iget-boolean v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mDataImportInProgress:Z // field@0058 │ │ -0090ac: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -0090b0: 0e00 |0004: return-void │ │ -0090b2: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -0090b4: 5c20 5800 |0006: iput-boolean v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mDataImportInProgress:Z // field@0058 │ │ -0090b8: 7100 6602 0000 |0008: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getDataImportController:()Lcom/google/android/apps/authenticator/dataimport/ImportController; // method@0266 │ │ -0090be: 0c00 |000b: move-result-object v0 │ │ -0090c0: 2201 6900 |000c: new-instance v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; // type@0069 │ │ -0090c4: 7020 0801 2100 |000e: invoke-direct {v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0108 │ │ -0090ca: 7230 3e02 2001 |0011: invoke-interface {v0, v2, v1}, Lcom/google/android/apps/authenticator/dataimport/ImportController;.start:(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@023e │ │ -0090d0: 28f0 |0014: goto 0004 // -0010 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=1174 │ │ - 0x0004 line=1210 │ │ - 0x0005 line=1177 │ │ - 0x0008 line=1178 │ │ - locals : │ │ - 0x0000 - 0x0015 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #24 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'interpretScanResult' │ │ - type : '(Landroid/net/Uri;Z)V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 6 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 61 16-bit code units │ │ -0090d4: |[0090d4] com.google.android.apps.authenticator.AuthenticatorActivity.interpretScanResult:(Landroid/net/Uri;Z)V │ │ -0090e4: 1232 |0000: const/4 v2, #int 3 // #3 │ │ -0090e6: 7100 6802 0000 |0001: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -0090ec: 0c00 |0004: move-result-object v0 │ │ -0090ee: 7230 c701 3004 |0005: invoke-interface {v0, v3, v4}, Lcom/google/android/apps/authenticator/OptionalFeatures;.interpretScanResult:(Landroid/content/Context;Landroid/net/Uri;)Z // method@01c7 │ │ -0090f4: 0a00 |0008: move-result v0 │ │ -0090f6: 3800 0300 |0009: if-eqz v0, 000c // +0003 │ │ -0090fa: 0e00 |000b: return-void │ │ -0090fc: 3805 1100 |000c: if-eqz v5, 001d // +0011 │ │ -009100: 5530 5d00 |000e: iget-boolean v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyIntentConfirmationInProgress:Z // field@005d │ │ -009104: 3800 0a00 |0010: if-eqz v0, 001a // +000a │ │ -009108: 1a00 4300 |0012: const-string v0, "AuthenticatorActivity" // string@0043 │ │ -00910c: 1a01 b000 |0014: const-string v1, "Ignoring save key Intent: previous Intent not yet confirmed by user" // string@00b0 │ │ -009110: 7120 9a00 1000 |0016: invoke-static {v0, v1}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -009116: 28f2 |0019: goto 000b // -000e │ │ -009118: 1210 |001a: const/4 v0, #int 1 // #1 │ │ -00911a: 5c30 5d00 |001b: iput-boolean v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyIntentConfirmationInProgress:Z // field@005d │ │ -00911e: 3904 0600 |001d: if-nez v4, 0023 // +0006 │ │ -009122: 6e20 7c01 2300 |001f: invoke-virtual {v3, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -009128: 28e9 |0022: goto 000b // -0017 │ │ -00912a: 1a00 9705 |0023: const-string v0, "otpauth" // string@0597 │ │ -00912e: 6e10 6b00 0400 |0025: invoke-virtual {v4}, Landroid/net/Uri;.getScheme:()Ljava/lang/String; // method@006b │ │ -009134: 0c01 |0028: move-result-object v1 │ │ -009136: 6e20 4403 1000 |0029: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -00913c: 0a00 |002c: move-result v0 │ │ -00913e: 3800 0c00 |002d: if-eqz v0, 0039 // +000c │ │ -009142: 6e10 6800 0400 |002f: invoke-virtual {v4}, Landroid/net/Uri;.getAuthority:()Ljava/lang/String; // method@0068 │ │ -009148: 0c00 |0032: move-result-object v0 │ │ -00914a: 3800 0600 |0033: if-eqz v0, 0039 // +0006 │ │ -00914e: 7030 6f01 4305 |0035: invoke-direct {v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.parseSecret:(Landroid/net/Uri;Z)V // method@016f │ │ -009154: 28d3 |0038: goto 000b // -002d │ │ -009156: 6e20 7c01 2300 |0039: invoke-virtual {v3, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -00915c: 28cf |003c: goto 000b // -0031 │ │ - catches : (none) │ │ - positions : │ │ - 0x0001 line=834 │ │ - 0x000b line=866 │ │ - 0x000c line=844 │ │ - 0x000e line=845 │ │ - 0x0012 line=846 │ │ - 0x001a line=851 │ │ - 0x001d line=855 │ │ - 0x001f line=856 │ │ - 0x0023 line=861 │ │ - 0x0035 line=862 │ │ - 0x0039 line=864 │ │ - locals : │ │ - 0x0000 - 0x003d reg=3 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x003d reg=4 scanResult Landroid/net/Uri; │ │ - 0x0000 - 0x003d reg=5 confirmBeforeSave Z │ │ - │ │ - #25 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'markDialogAsResultOfSaveKeyIntent' │ │ - type : '(Landroid/app/Dialog;)V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 3 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 9 16-bit code units │ │ -009160: |[009160] com.google.android.apps.authenticator.AuthenticatorActivity.markDialogAsResultOfSaveKeyIntent:(Landroid/app/Dialog;)V │ │ -009170: 2200 6800 |0000: new-instance v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$11; // type@0068 │ │ -009174: 7020 0601 1000 |0002: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$11;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0106 │ │ -00917a: 6e20 1a00 0200 |0005: invoke-virtual {v2, v0}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001a │ │ -009180: 0e00 |0008: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=983 │ │ - 0x0008 line=989 │ │ - locals : │ │ - 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0009 reg=2 dialog Landroid/app/Dialog; │ │ - │ │ - #26 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onSaveKeyIntentConfirmationPromptDismissed' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 4 16-bit code units │ │ -009184: |[009184] com.google.android.apps.authenticator.AuthenticatorActivity.onSaveKeyIntentConfirmationPromptDismissed:()V │ │ -009194: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -009196: 5c10 5d00 |0001: iput-boolean v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyIntentConfirmationInProgress:Z // field@005d │ │ -00919a: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=996 │ │ - 0x0003 line=997 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #27 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'parseSecret' │ │ - type : '(Landroid/net/Uri;Z)V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 20 │ │ - ins : 3 │ │ - outs : 6 │ │ - insns size : 288 16-bit code units │ │ -00919c: |[00919c] com.google.android.apps.authenticator.AuthenticatorActivity.parseSecret:(Landroid/net/Uri;Z)V │ │ -0091ac: 7401 6b00 1200 |0000: invoke-virtual/range {v18}, Landroid/net/Uri;.getScheme:()Ljava/lang/String; // method@006b │ │ -0091b2: 0c01 |0003: move-result-object v1 │ │ -0091b4: 6e10 4e03 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@034e │ │ -0091ba: 0c10 |0007: move-result-object v16 │ │ -0091bc: 7401 6900 1200 |0008: invoke-virtual/range {v18}, Landroid/net/Uri;.getPath:()Ljava/lang/String; // method@0069 │ │ -0091c2: 0c0f |000b: move-result-object v15 │ │ -0091c4: 7401 6800 1200 |000c: invoke-virtual/range {v18}, Landroid/net/Uri;.getAuthority:()Ljava/lang/String; // method@0068 │ │ -0091ca: 0c0c |000f: move-result-object v12 │ │ -0091cc: 1a01 9705 |0010: const-string v1, "otpauth" // string@0597 │ │ -0091d0: 0800 1000 |0012: move-object/from16 v0, v16 │ │ -0091d4: 6e20 4403 0100 |0014: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -0091da: 0a01 |0017: move-result v1 │ │ -0091dc: 3901 1600 |0018: if-nez v1, 002e // +0016 │ │ -0091e0: 1501 067f |001a: const/high16 v1, #int 2131099648 // #7f06 │ │ -0091e4: 0800 1100 |001c: move-object/from16 v0, v17 │ │ -0091e8: 6e20 5801 1000 |001e: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -0091ee: 0c01 |0021: move-result-object v1 │ │ -0091f0: 1a06 4700 |0022: const-string v6, "AuthenticatorActivity: Invalid or missing scheme in uri" // string@0047 │ │ -0091f4: 7120 9800 6100 |0024: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -0091fa: 1231 |0027: const/4 v1, #int 3 // #3 │ │ -0091fc: 0800 1100 |0028: move-object/from16 v0, v17 │ │ -009200: 6e20 7c01 1000 |002a: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -009206: 0e00 |002d: return-void │ │ -009208: 1a01 ab06 |002e: const-string v1, "totp" // string@06ab │ │ -00920c: 6e20 4403 c100 |0030: invoke-virtual {v1, v12}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -009212: 0a01 |0033: move-result v1 │ │ -009214: 3801 2000 |0034: if-eqz v1, 0054 // +0020 │ │ -009218: 6204 0a00 |0036: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ -00921c: 6205 0d00 |0038: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ -009220: 7110 8301 0f00 |003a: invoke-static {v15}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.validateAndGetUserInPath:(Ljava/lang/String;)Ljava/lang/String; // method@0183 │ │ -009226: 0c02 |003d: move-result-object v2 │ │ -009228: 3902 5f00 |003e: if-nez v2, 009d // +005f │ │ -00922c: 1501 067f |0040: const/high16 v1, #int 2131099648 // #7f06 │ │ -009230: 0800 1100 |0042: move-object/from16 v0, v17 │ │ -009234: 6e20 5801 1000 |0044: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -00923a: 0c01 |0047: move-result-object v1 │ │ -00923c: 1a06 4900 |0048: const-string v6, "AuthenticatorActivity: Missing user id in uri" // string@0049 │ │ -009240: 7120 9800 6100 |004a: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -009246: 1231 |004d: const/4 v1, #int 3 // #3 │ │ -009248: 0800 1100 |004e: move-object/from16 v0, v17 │ │ -00924c: 6e20 7c01 1000 |0050: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -009252: 28da |0053: goto 002d // -0026 │ │ -009254: 1a01 9004 |0054: const-string v1, "hotp" // string@0490 │ │ -009258: 6e20 4403 c100 |0056: invoke-virtual {v1, v12}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -00925e: 0a01 |0059: move-result v1 │ │ -009260: 3801 2f00 |005a: if-eqz v1, 0089 // +002f │ │ -009264: 6204 0900 |005c: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -009268: 1a01 9803 |005e: const-string v1, "counter" // string@0398 │ │ -00926c: 0800 1200 |0060: move-object/from16 v0, v18 │ │ -009270: 6e20 6a00 1000 |0062: invoke-virtual {v0, v1}, Landroid/net/Uri;.getQueryParameter:(Ljava/lang/String;)Ljava/lang/String; // method@006a │ │ -009276: 0c0d |0065: move-result-object v13 │ │ -009278: 380d 2000 |0066: if-eqz v13, 0086 // +0020 │ │ -00927c: 7110 2e03 0d00 |0068: invoke-static {v13}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@032e │ │ -009282: 0a01 |006b: move-result v1 │ │ -009284: 7110 3203 0100 |006c: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00928a: 0c05 |006f: move-result-object v5 │ │ -00928c: 28ca |0070: goto 003a // -0036 │ │ -00928e: 0d0e |0071: move-exception v14 │ │ -009290: 1501 067f |0072: const/high16 v1, #int 2131099648 // #7f06 │ │ -009294: 0800 1100 |0074: move-object/from16 v0, v17 │ │ -009298: 6e20 5801 1000 |0076: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -00929e: 0c01 |0079: move-result-object v1 │ │ -0092a0: 1a06 4500 |007a: const-string v6, "AuthenticatorActivity: Invalid counter in uri" // string@0045 │ │ -0092a4: 7120 9800 6100 |007c: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -0092aa: 1231 |007f: const/4 v1, #int 3 // #3 │ │ -0092ac: 0800 1100 |0080: move-object/from16 v0, v17 │ │ -0092b0: 6e20 7c01 1000 |0082: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -0092b6: 28a8 |0085: goto 002d // -0058 │ │ -0092b8: 6205 0d00 |0086: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ -0092bc: 28b2 |0088: goto 003a // -004e │ │ -0092be: 1501 067f |0089: const/high16 v1, #int 2131099648 // #7f06 │ │ -0092c2: 0800 1100 |008b: move-object/from16 v0, v17 │ │ -0092c6: 6e20 5801 1000 |008d: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -0092cc: 0c01 |0090: move-result-object v1 │ │ -0092ce: 1a06 4600 |0091: const-string v6, "AuthenticatorActivity: Invalid or missing authority in uri" // string@0046 │ │ -0092d2: 7120 9800 6100 |0093: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -0092d8: 1231 |0096: const/4 v1, #int 3 // #3 │ │ -0092da: 0800 1100 |0097: move-object/from16 v0, v17 │ │ -0092de: 6e20 7c01 1000 |0099: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -0092e4: 2891 |009c: goto 002d // -006f │ │ -0092e6: 1a01 1a06 |009d: const-string v1, "secret" // string@061a │ │ -0092ea: 0800 1200 |009f: move-object/from16 v0, v18 │ │ -0092ee: 6e20 6a00 1000 |00a1: invoke-virtual {v0, v1}, Landroid/net/Uri;.getQueryParameter:(Ljava/lang/String;)Ljava/lang/String; // method@006a │ │ -0092f4: 0c03 |00a4: move-result-object v3 │ │ -0092f6: 3803 0800 |00a5: if-eqz v3, 00ad // +0008 │ │ -0092fa: 6e10 4703 0300 |00a7: invoke-virtual {v3}, Ljava/lang/String;.length:()I // method@0347 │ │ -009300: 0a01 |00aa: move-result v1 │ │ -009302: 3901 1700 |00ab: if-nez v1, 00c2 // +0017 │ │ -009306: 1501 067f |00ad: const/high16 v1, #int 2131099648 // #7f06 │ │ -00930a: 0800 1100 |00af: move-object/from16 v0, v17 │ │ -00930e: 6e20 5801 1000 |00b1: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -009314: 0c01 |00b4: move-result-object v1 │ │ -009316: 1a06 4a00 |00b5: const-string v6, "AuthenticatorActivity: Secret key not found in URI" // string@004a │ │ -00931a: 7120 9800 6100 |00b7: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -009320: 1271 |00ba: const/4 v1, #int 7 // #7 │ │ -009322: 0800 1100 |00bb: move-object/from16 v0, v17 │ │ -009326: 6e20 7c01 1000 |00bd: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -00932c: 2900 6dff |00c0: goto/16 002d // -0093 │ │ -009330: 7110 e900 0300 |00c2: invoke-static {v3}, Lcom/google/android/apps/authenticator/AccountDb;.getSigningOracle:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; // method@00e9 │ │ -009336: 0c01 |00c5: move-result-object v1 │ │ -009338: 3901 1700 |00c6: if-nez v1, 00dd // +0017 │ │ -00933c: 1501 067f |00c8: const/high16 v1, #int 2131099648 // #7f06 │ │ -009340: 0800 1100 |00ca: move-object/from16 v0, v17 │ │ -009344: 6e20 5801 1000 |00cc: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -00934a: 0c01 |00cf: move-result-object v1 │ │ -00934c: 1a06 4800 |00d0: const-string v6, "AuthenticatorActivity: Invalid secret key" // string@0048 │ │ -009350: 7120 9800 6100 |00d2: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -009356: 1271 |00d5: const/4 v1, #int 7 // #7 │ │ -009358: 0800 1100 |00d6: move-object/from16 v0, v17 │ │ -00935c: 6e20 7c01 1000 |00d8: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -009362: 2900 52ff |00db: goto/16 002d // -00ae │ │ -009366: 0800 1100 |00dd: move-object/from16 v0, v17 │ │ -00936a: 5401 5500 |00df: iget-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ -00936e: 6e20 e800 2100 |00e1: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@00e8 │ │ -009374: 0c01 |00e4: move-result-object v1 │ │ -009376: 6e20 4403 1300 |00e5: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -00937c: 0a01 |00e8: move-result v1 │ │ -00937e: 3801 1600 |00e9: if-eqz v1, 00ff // +0016 │ │ -009382: 0800 1100 |00eb: move-object/from16 v0, v17 │ │ -009386: 5401 5500 |00ed: iget-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ -00938a: 6e20 e500 2100 |00ef: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ -009390: 0c01 |00f2: move-result-object v1 │ │ -009392: 3315 0c00 |00f3: if-ne v5, v1, 00ff // +000c │ │ -009396: 0800 1100 |00f5: move-object/from16 v0, v17 │ │ -00939a: 5401 5500 |00f7: iget-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ -00939e: 6e20 ea00 2100 |00f9: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ -0093a4: 0c01 |00fc: move-result-object v1 │ │ -0093a6: 3214 30ff |00fd: if-eq v4, v1, 002d // -00d0 │ │ -0093aa: 3813 1500 |00ff: if-eqz v19, 0114 // +0015 │ │ -0093ae: 2201 7800 |0101: new-instance v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // type@0078 │ │ -0093b2: 1206 |0103: const/4 v6, #int 0 // #0 │ │ -0093b4: 7606 3701 0100 |0104: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.:(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V // method@0137 │ │ -0093ba: 0800 1100 |0107: move-object/from16 v0, v17 │ │ -0093be: 5b01 5c00 |0109: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@005c │ │ -0093c2: 1301 0d00 |010b: const/16 v1, #int 13 // #d │ │ -0093c6: 0800 1100 |010d: move-object/from16 v0, v17 │ │ -0093ca: 6e20 7c01 1000 |010f: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -0093d0: 2900 1bff |0112: goto/16 002d // -00e5 │ │ -0093d4: 1209 |0114: const/4 v9, #int 0 // #0 │ │ -0093d6: 0806 1100 |0115: move-object/from16 v6, v17 │ │ -0093da: 0727 |0117: move-object v7, v2 │ │ -0093dc: 0738 |0118: move-object v8, v3 │ │ -0093de: 074a |0119: move-object v10, v4 │ │ -0093e0: 075b |011a: move-object v11, v5 │ │ -0093e2: 7606 7601 0600 |011b: invoke-direct/range {v6, v7, v8, v9, v10, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.saveSecretAndRefreshUserList:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@0176 │ │ -0093e8: 2900 0fff |011e: goto/16 002d // -00f1 │ │ - catches : 1 │ │ - 0x0068 - 0x006f │ │ - Ljava/lang/NumberFormatException; -> 0x0071 │ │ - positions : │ │ - 0x0000 line=511 │ │ - 0x0008 line=512 │ │ - 0x000c line=513 │ │ - 0x0010 line=519 │ │ - 0x001a line=520 │ │ - 0x0027 line=521 │ │ - 0x002d line=582 │ │ - 0x002e line=525 │ │ - 0x0036 line=526 │ │ - 0x0038 line=527 │ │ - 0x003a line=548 │ │ - 0x003e line=549 │ │ - 0x0040 line=550 │ │ - 0x004d line=551 │ │ - 0x0054 line=528 │ │ - 0x005c line=529 │ │ - 0x005e line=530 │ │ - 0x0066 line=531 │ │ - 0x0068 line=533 │ │ - 0x0071 line=534 │ │ - 0x0072 line=535 │ │ - 0x007f line=536 │ │ - 0x0086 line=540 │ │ - 0x0089 line=543 │ │ - 0x0096 line=544 │ │ - 0x009d line=555 │ │ - 0x00a5 line=557 │ │ - 0x00ad line=558 │ │ - 0x00ba line=560 │ │ - 0x00c2 line=564 │ │ - 0x00c8 line=565 │ │ - 0x00d5 line=566 │ │ - 0x00dd line=570 │ │ - 0x00ff line=576 │ │ - 0x0101 line=577 │ │ - 0x010b line=578 │ │ - 0x0114 line=580 │ │ - locals : │ │ - 0x003e - 0x0054 reg=2 user Ljava/lang/String; │ │ - 0x0038 - 0x0054 reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x003a - 0x0054 reg=5 counter Ljava/lang/Integer; │ │ - 0x0070 - 0x0071 reg=5 counter Ljava/lang/Integer; │ │ - 0x0072 - 0x0086 reg=14 e Ljava/lang/NumberFormatException; │ │ - 0x005e - 0x0089 reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0088 - 0x0089 reg=5 counter Ljava/lang/Integer; │ │ - 0x0066 - 0x0089 reg=13 counterParameter Ljava/lang/String; │ │ - 0x009d - 0x0120 reg=2 user Ljava/lang/String; │ │ - 0x00a5 - 0x0120 reg=3 secret Ljava/lang/String; │ │ - 0x009d - 0x0120 reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x009d - 0x0120 reg=5 counter Ljava/lang/Integer; │ │ - 0x0010 - 0x0120 reg=12 authority Ljava/lang/String; │ │ - 0x000c - 0x0120 reg=15 path Ljava/lang/String; │ │ - 0x0008 - 0x0120 reg=16 scheme Ljava/lang/String; │ │ - 0x0000 - 0x0120 reg=17 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0120 reg=18 uri Landroid/net/Uri; │ │ - 0x0000 - 0x0120 reg=19 confirmBeforeSave Z │ │ - │ │ - #28 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'refreshVerificationCodes' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 9 16-bit code units │ │ -0093fc: |[0093fc] com.google.android.apps.authenticator.AuthenticatorActivity.refreshVerificationCodes:()V │ │ -00940c: 6e10 7001 0200 |0000: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:()V // method@0170 │ │ -009412: 1900 f03f |0003: const-wide/high16 v0, #long 4607182418800017408 // #3ff0 │ │ -009416: 7030 7a01 0201 |0005: invoke-direct {v2, v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setTotpCountdownPhase:(D)V // method@017a │ │ -00941c: 0e00 |0008: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=396 │ │ - 0x0003 line=397 │ │ - 0x0008 line=398 │ │ - locals : │ │ - 0x0000 - 0x0009 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #29 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'saveSecret' │ │ - type : '(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)Z' │ │ - access : 0x0008 (STATIC) │ │ - code - │ │ - registers : 13 │ │ - ins : 6 │ │ - outs : 6 │ │ - insns size : 69 16-bit code units │ │ -009420: |[009420] com.google.android.apps.authenticator.AuthenticatorActivity.saveSecret:(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)Z │ │ -009430: 1216 |0000: const/4 v6, #int 1 // #1 │ │ -009432: 390a 0300 |0001: if-nez v10, 0004 // +0003 │ │ -009436: 078a |0003: move-object v10, v8 │ │ -009438: 3809 2e00 |0004: if-eqz v9, 0032 // +002e │ │ -00943c: 7100 6402 0000 |0006: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ -009442: 0c00 |0009: move-result-object v0 │ │ -009444: 0781 |000a: move-object v1, v8 │ │ -009446: 0792 |000b: move-object v2, v9 │ │ -009448: 07a3 |000c: move-object v3, v10 │ │ -00944a: 07b4 |000d: move-object v4, v11 │ │ -00944c: 07c5 |000e: move-object v5, v12 │ │ -00944e: 7406 f300 0000 |000f: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AccountDb;.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@00f3 │ │ -009454: 7100 6802 0000 |0012: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -00945a: 0c01 |0015: move-result-object v1 │ │ -00945c: 7230 c801 7108 |0016: invoke-interface {v1, v7, v8}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityAccountSaved:(Landroid/content/Context;Ljava/lang/String;)V // method@01c8 │ │ -009462: 1401 1600 067f |0019: const v1, #float 1.78117e+38 // #7f060016 │ │ -009468: 7130 d000 1706 |001c: invoke-static {v7, v1, v6}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;II)Landroid/widget/Toast; // method@00d0 │ │ -00946e: 0c01 |001f: move-result-object v1 │ │ -009470: 6e10 d100 0100 |0020: invoke-virtual {v1}, Landroid/widget/Toast;.show:()V // method@00d1 │ │ -009476: 1a01 e406 |0023: const-string v1, "vibrator" // string@06e4 │ │ -00947a: 6e20 2800 1700 |0025: invoke-virtual {v7, v1}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0028 │ │ -009480: 0c01 |0028: move-result-object v1 │ │ -009482: 1f01 3800 |0029: check-cast v1, Landroid/os/Vibrator; // type@0038 │ │ -009486: 1602 c800 |002b: const-wide/16 v2, #int 200 // #c8 │ │ -00948a: 6e30 8c00 2103 |002d: invoke-virtual {v1, v2, v3}, Landroid/os/Vibrator;.vibrate:(J)V // method@008c │ │ -009490: 0161 |0030: move v1, v6 │ │ -009492: 0f01 |0031: return v1 │ │ -009494: 1a01 4300 |0032: const-string v1, "AuthenticatorActivity" // string@0043 │ │ -009498: 1a02 9402 |0034: const-string v2, "Trying to save an empty secret key" // string@0294 │ │ -00949c: 7120 9800 2100 |0036: invoke-static {v1, v2}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ -0094a2: 1401 1800 067f |0039: const v1, #float 1.78117e+38 // #7f060018 │ │ -0094a8: 7130 d000 1706 |003c: invoke-static {v7, v1, v6}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;II)Landroid/widget/Toast; // method@00d0 │ │ -0094ae: 0c01 |003f: move-result-object v1 │ │ -0094b0: 6e10 d100 0100 |0040: invoke-virtual {v1}, Landroid/widget/Toast;.show:()V // method@00d1 │ │ -0094b6: 1201 |0043: const/4 v1, #int 0 // #0 │ │ -0094b8: 28ed |0044: goto 0031 // -0013 │ │ - catches : (none) │ │ - positions : │ │ - 0x0001 line=625 │ │ - 0x0003 line=626 │ │ - 0x0004 line=628 │ │ - 0x0006 line=629 │ │ - 0x000f line=630 │ │ - 0x0012 line=631 │ │ - 0x0019 line=636 │ │ - 0x0023 line=637 │ │ - 0x0031 line=643 │ │ - 0x0032 line=641 │ │ - 0x0039 line=642 │ │ - 0x0043 line=643 │ │ - locals : │ │ - 0x000a - 0x0031 reg=0 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ - 0x0000 - 0x0045 reg=7 context Landroid/content/Context; │ │ - 0x0000 - 0x0045 reg=8 user Ljava/lang/String; │ │ - 0x0000 - 0x0045 reg=9 secret Ljava/lang/String; │ │ - 0x0000 - 0x0045 reg=10 originalUser Ljava/lang/String; │ │ - 0x0000 - 0x0045 reg=11 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0000 - 0x0045 reg=12 counter Ljava/lang/Integer; │ │ - │ │ - #30 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'saveSecretAndRefreshUserList' │ │ - type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 7 │ │ - ins : 6 │ │ - outs : 6 │ │ - insns size : 11 16-bit code units │ │ -0094bc: |[0094bc] com.google.android.apps.authenticator.AuthenticatorActivity.saveSecretAndRefreshUserList:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ -0094cc: 7706 7501 0100 |0000: invoke-static/range {v1, v2, v3, v4, v5, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.saveSecret:(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)Z // method@0175 │ │ -0094d2: 0a00 |0003: move-result v0 │ │ -0094d4: 3800 0600 |0004: if-eqz v0, 000a // +0006 │ │ -0094d8: 1210 |0006: const/4 v0, #int 1 // #1 │ │ -0094da: 6e20 7101 0100 |0007: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:(Z)V // method@0171 │ │ -0094e0: 0e00 |000a: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=607 │ │ - 0x0006 line=608 │ │ - 0x000a line=610 │ │ - locals : │ │ - 0x0000 - 0x000b reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x000b reg=2 user Ljava/lang/String; │ │ - 0x0000 - 0x000b reg=3 secret Ljava/lang/String; │ │ - 0x0000 - 0x000b reg=4 originalUser Ljava/lang/String; │ │ - 0x0000 - 0x000b reg=5 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0000 - 0x000b reg=6 counter Ljava/lang/Integer; │ │ - │ │ - #31 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'scanBarcode' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 6 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 31 16-bit code units │ │ -0094e4: |[0094e4] com.google.android.apps.authenticator.AuthenticatorActivity.scanBarcode:()V │ │ -0094f4: 1204 |0000: const/4 v4, #int 0 // #0 │ │ -0094f6: 2201 1700 |0001: new-instance v1, Landroid/content/Intent; // type@0017 │ │ -0094fa: 1a02 8003 |0003: const-string v2, "com.google.zxing.client.android.SCAN" // string@0380 │ │ -0094fe: 7020 3000 2100 |0005: invoke-direct {v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0030 │ │ -009504: 1a02 5a02 |0008: const-string v2, "SCAN_MODE" // string@025a │ │ -009508: 1a03 5102 |000a: const-string v3, "QR_CODE_MODE" // string@0251 │ │ -00950c: 6e30 3900 2103 |000c: invoke-virtual {v1, v2, v3}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@0039 │ │ -009512: 1a02 5902 |000f: const-string v2, "SAVE_HISTORY" // string@0259 │ │ -009516: 6e30 3a00 2104 |0011: invoke-virtual {v1, v2, v4}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Z)Landroid/content/Intent; // method@003a │ │ -00951c: 1302 697a |0014: const/16 v2, #int 31337 // #7a69 │ │ -009520: 6e30 7f01 1502 |0016: invoke-virtual {v5, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@017f │ │ -009526: 0e00 |0019: return-void │ │ -009528: 0d00 |001a: move-exception v0 │ │ -00952a: 6e20 7c01 4500 |001b: invoke-virtual {v5, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ -009530: 28fb |001e: goto 0019 // -0005 │ │ - catches : 1 │ │ - 0x0016 - 0x0019 │ │ - Landroid/content/ActivityNotFoundException; -> 0x001a │ │ - positions : │ │ - 0x0001 line=803 │ │ - 0x0008 line=804 │ │ - 0x000f line=805 │ │ - 0x0014 line=807 │ │ - 0x0019 line=811 │ │ - 0x001a line=808 │ │ - 0x001b line=809 │ │ - locals : │ │ - 0x001b - 0x001f reg=0 error Landroid/content/ActivityNotFoundException; │ │ - 0x0008 - 0x001f reg=1 intentScan Landroid/content/Intent; │ │ - 0x0000 - 0x001f reg=5 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #32 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'setTotpCountdownPhase' │ │ - type : '(D)V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 3 │ │ - ins : 3 │ │ - outs : 1 │ │ - insns size : 6 16-bit code units │ │ -009540: |[009540] com.google.android.apps.authenticator.AuthenticatorActivity.setTotpCountdownPhase:(D)V │ │ -009550: 5a01 5f00 |0000: iput-wide v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownPhase:D // field@005f │ │ -009554: 7010 8201 0000 |0002: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.updateCountdownIndicators:()V // method@0182 │ │ -00955a: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=386 │ │ - 0x0002 line=387 │ │ - 0x0005 line=388 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0006 reg=1 phase D │ │ - │ │ - #33 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'setTotpCountdownPhaseFromTimeTillNextValue' │ │ - type : '(J)V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 7 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 17 16-bit code units │ │ -00955c: |[00955c] com.google.android.apps.authenticator.AuthenticatorActivity.setTotpCountdownPhaseFromTimeTillNextValue:(J)V │ │ -00956c: 8650 |0000: long-to-double v0, v5 │ │ -00956e: 5442 6100 |0001: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0061 │ │ -009572: 6e10 1402 0200 |0003: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/TotpCounter;.getTimeStep:()J // method@0214 │ │ -009578: 0b02 |0006: move-result-wide v2 │ │ -00957a: 7120 1e02 3200 |0007: invoke-static {v2, v3}, Lcom/google/android/apps/authenticator/Utilities;.secondsToMillis:(J)J // method@021e │ │ -009580: 0b02 |000a: move-result-wide v2 │ │ -009582: 8622 |000b: long-to-double v2, v2 │ │ -009584: ce20 |000c: div-double/2addr v0, v2 │ │ -009586: 7030 7a01 0401 |000d: invoke-direct {v4, v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setTotpCountdownPhase:(D)V // method@017a │ │ -00958c: 0e00 |0010: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=391 │ │ - 0x0010 line=393 │ │ - locals : │ │ - 0x0000 - 0x0011 reg=4 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0011 reg=5 millisRemaining J │ │ - │ │ - #34 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'showSettings' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 14 16-bit code units │ │ -009590: |[009590] com.google.android.apps.authenticator.AuthenticatorActivity.showSettings:()V │ │ -0095a0: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ -0095a4: 7010 2e00 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@002e │ │ -0095aa: 1c01 8f00 |0005: const-class v1, Lcom/google/android/apps/authenticator/SettingsActivity; // type@008f │ │ -0095ae: 6e30 3b00 2001 |0007: invoke-virtual {v0, v2, v1}, Landroid/content/Intent;.setClass:(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent; // method@003b │ │ -0095b4: 6e20 7e01 0200 |000a: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ -0095ba: 0e00 |000d: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=819 │ │ - 0x0005 line=820 │ │ - 0x000a line=821 │ │ - 0x000d line=822 │ │ - locals : │ │ - 0x0005 - 0x000e reg=0 intent Landroid/content/Intent; │ │ - 0x0000 - 0x000e reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #35 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'stopTotpCountdownTask' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 13 16-bit code units │ │ -0095bc: |[0095bc] com.google.android.apps.authenticator.AuthenticatorActivity.stopTotpCountdownTask:()V │ │ -0095cc: 5410 6000 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ -0095d0: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ -0095d4: 5410 6000 |0004: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ -0095d8: 6e10 0f02 0000 |0006: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.stop:()V // method@020f │ │ -0095de: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -0095e0: 5b10 6000 |000a: iput-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ -0095e4: 0e00 |000c: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=374 │ │ - 0x0004 line=375 │ │ - 0x0009 line=376 │ │ - 0x000c line=378 │ │ - locals : │ │ - 0x0000 - 0x000d reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #36 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'updateCodesAndStartTotpCountdownTask' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 6 │ │ - ins : 1 │ │ - outs : 5 │ │ - insns size : 32 16-bit code units │ │ -0095e8: |[0095e8] com.google.android.apps.authenticator.AuthenticatorActivity.updateCodesAndStartTotpCountdownTask:()V │ │ -0095f8: 7010 8001 0500 |0000: invoke-direct {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.stopTotpCountdownTask:()V // method@0180 │ │ -0095fe: 2200 9200 |0003: new-instance v0, Lcom/google/android/apps/authenticator/TotpCountdownTask; // type@0092 │ │ -009602: 5451 6100 |0005: iget-object v1, v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0061 │ │ -009606: 5452 5e00 |0007: iget-object v2, v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@005e │ │ -00960a: 1603 6400 |0009: const-wide/16 v3, #int 100 // #64 │ │ -00960e: 7054 0502 1032 |000b: invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.:(Lcom/google/android/apps/authenticator/TotpCounter;Lcom/google/android/apps/authenticator/TotpClock;J)V // method@0205 │ │ -009614: 5b50 6000 |000e: iput-object v0, v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ -009618: 5450 6000 |0010: iget-object v0, v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ -00961c: 2201 6d00 |0012: new-instance v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4; // type@006d │ │ -009620: 7020 1201 5100 |0014: invoke-direct {v1, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0112 │ │ -009626: 6e20 0d02 1000 |0017: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.setListener:(Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;)V // method@020d │ │ -00962c: 5450 6000 |001a: iget-object v0, v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ -009630: 6e10 0e02 0000 |001c: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.startAndNotifyListener:()V // method@020e │ │ -009636: 0e00 |001f: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=346 │ │ - 0x0003 line=348 │ │ - 0x0010 line=350 │ │ - 0x001a line=370 │ │ - 0x001f line=371 │ │ - locals : │ │ - 0x0000 - 0x0020 reg=5 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #37 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'updateCountdownIndicators' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 7 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 35 16-bit code units │ │ -009638: |[009638] com.google.android.apps.authenticator.AuthenticatorActivity.updateCountdownIndicators:()V │ │ -009648: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -00964a: 5464 6300 |0001: iget-object v4, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -00964e: 6e10 c300 0400 |0003: invoke-virtual {v4}, Landroid/widget/ListView;.getChildCount:()I // method@00c3 │ │ -009654: 0a02 |0006: move-result v2 │ │ -009656: 3520 1b00 |0007: if-ge v0, v2, 0022 // +001b │ │ -00965a: 5464 6300 |0009: iget-object v4, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -00965e: 6e20 c200 0400 |000b: invoke-virtual {v4, v0}, Landroid/widget/ListView;.getChildAt:(I)Landroid/view/View; // method@00c2 │ │ -009664: 0c03 |000e: move-result-object v3 │ │ -009666: 1404 1800 0a7f |000f: const v4, #float 1.83434e+38 // #7f0a0018 │ │ -00966c: 6e20 a500 4300 |0012: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ -009672: 0c01 |0015: move-result-object v1 │ │ -009674: 1f01 7e00 |0016: check-cast v1, Lcom/google/android/apps/authenticator/CountdownIndicator; // type@007e │ │ -009678: 3801 0700 |0018: if-eqz v1, 001f // +0007 │ │ -00967c: 5364 5f00 |001a: iget-wide v4, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownPhase:D // field@005f │ │ -009680: 6e30 9f01 4105 |001c: invoke-virtual {v1, v4, v5}, Lcom/google/android/apps/authenticator/CountdownIndicator;.setPhase:(D)V // method@019f │ │ -009686: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -00968a: 28e6 |0021: goto 0007 // -001a │ │ -00968c: 0e00 |0022: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=401 │ │ - 0x0009 line=402 │ │ - 0x000f line=403 │ │ - 0x0018 line=405 │ │ - 0x001a line=406 │ │ - 0x001f line=401 │ │ - 0x0022 line=409 │ │ - locals : │ │ - 0x0018 - 0x0022 reg=1 indicator Lcom/google/android/apps/authenticator/CountdownIndicator; │ │ - 0x000f - 0x0022 reg=3 listEntry Landroid/view/View; │ │ - 0x0001 - 0x0023 reg=0 i I │ │ - 0x0007 - 0x0023 reg=2 len I │ │ - 0x0000 - 0x0023 reg=6 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #38 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'validateAndGetUserInPath' │ │ - type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ - access : 0x000a (PRIVATE STATIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 30 16-bit code units │ │ -009690: |[009690] com.google.android.apps.authenticator.AuthenticatorActivity.validateAndGetUserInPath:(Ljava/lang/String;)Ljava/lang/String; │ │ -0096a0: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -0096a2: 3803 0a00 |0001: if-eqz v3, 000b // +000a │ │ -0096a6: 1a02 1c00 |0003: const-string v2, "/" // string@001c │ │ -0096aa: 6e20 4b03 2300 |0005: invoke-virtual {v3, v2}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@034b │ │ -0096b0: 0a02 |0008: move-result v2 │ │ -0096b2: 3902 0400 |0009: if-nez v2, 000d // +0004 │ │ -0096b6: 0710 |000b: move-object v0, v1 │ │ -0096b8: 1100 |000c: return-object v0 │ │ -0096ba: 1212 |000d: const/4 v2, #int 1 // #1 │ │ -0096bc: 6e20 4c03 2300 |000e: invoke-virtual {v3, v2}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@034c │ │ -0096c2: 0c02 |0011: move-result-object v2 │ │ -0096c4: 6e10 5103 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@0351 │ │ -0096ca: 0c00 |0015: move-result-object v0 │ │ -0096cc: 6e10 4703 0000 |0016: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0347 │ │ -0096d2: 0a02 |0019: move-result v2 │ │ -0096d4: 3902 f2ff |001a: if-nez v2, 000c // -000e │ │ -0096d8: 0710 |001c: move-object v0, v1 │ │ -0096da: 28ef |001d: goto 000c // -0011 │ │ - catches : (none) │ │ - positions : │ │ - 0x0001 line=585 │ │ - 0x000c line=593 │ │ - 0x000d line=589 │ │ - 0x0016 line=590 │ │ - 0x001d line=591 │ │ - locals : │ │ - 0x0016 - 0x001e reg=0 user Ljava/lang/String; │ │ - 0x0000 - 0x001e reg=3 path Ljava/lang/String; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'computeAndDisplayPin' │ │ - type : '(Ljava/lang/String;IZ)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 8 │ │ - ins : 4 │ │ - outs : 2 │ │ - insns size : 75 16-bit code units │ │ -0096dc: |[0096dc] com.google.android.apps.authenticator.AuthenticatorActivity.computeAndDisplayPin:(Ljava/lang/String;IZ)V │ │ -0096ec: 1213 |0000: const/4 v3, #int 1 // #1 │ │ -0096ee: 5442 6400 |0001: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -0096f2: 4602 0206 |0003: aget-object v2, v2, v6 │ │ -0096f6: 3802 3000 |0005: if-eqz v2, 0035 // +0030 │ │ -0096fa: 5442 6400 |0007: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -0096fe: 4600 0206 |0009: aget-object v0, v2, v6 │ │ -009702: 5442 5500 |000b: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ -009706: 6e20 ea00 5200 |000d: invoke-virtual {v2, v5}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ -00970c: 0c01 |0010: move-result-object v1 │ │ -00970e: 6202 0900 |0011: sget-object v2, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -009712: 3321 3600 |0013: if-ne v1, v2, 0049 // +0036 │ │ -009716: 0132 |0015: move v2, v3 │ │ -009718: 7120 2b01 2000 |0016: invoke-static {v0, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$002:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012b │ │ -00971e: 7120 3101 5000 |0019: invoke-static {v0, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$902:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; // method@0131 │ │ -009724: 7110 2a01 0000 |001c: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z // method@012a │ │ -00972a: 0a02 |001f: move-result v2 │ │ -00972c: 3802 0400 |0020: if-eqz v2, 0024 // +0004 │ │ -009730: 3807 0e00 |0022: if-eqz v7, 0030 // +000e │ │ -009734: 5442 5b00 |0024: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@005b │ │ -009738: 7220 da01 5200 |0026: invoke-interface {v2, v5}, Lcom/google/android/apps/authenticator/OtpSource;.getNextCode:(Ljava/lang/String;)Ljava/lang/String; // method@01da │ │ -00973e: 0c02 |0029: move-result-object v2 │ │ -009740: 7120 2f01 2000 |002a: invoke-static {v0, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; // method@012f │ │ -009746: 7120 2d01 3000 |002d: invoke-static {v0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ -00974c: 5442 6400 |0030: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -009750: 4d00 0206 |0032: aput-object v0, v2, v6 │ │ -009754: 0e00 |0034: return-void │ │ -009756: 2200 7600 |0035: new-instance v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0076 │ │ -00975a: 1202 |0037: const/4 v2, #int 0 // #0 │ │ -00975c: 7020 2901 2000 |0038: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V // method@0129 │ │ -009762: 1402 3600 067f |003b: const v2, #float 1.78118e+38 // #7f060036 │ │ -009768: 6e20 5801 2400 |003e: invoke-virtual {v4, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -00976e: 0c02 |0041: move-result-object v2 │ │ -009770: 7120 2f01 2000 |0042: invoke-static {v0, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; // method@012f │ │ -009776: 7120 2d01 3000 |0045: invoke-static {v0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ -00977c: 28c3 |0048: goto 000b // -003d │ │ -00977e: 1202 |0049: const/4 v2, #int 0 // #0 │ │ -009780: 28cc |004a: goto 0016 // -0034 │ │ - catches : (none) │ │ - positions : │ │ - 0x0001 line=474 │ │ - 0x0007 line=475 │ │ - 0x000b line=482 │ │ - 0x0011 line=483 │ │ - 0x0019 line=485 │ │ - 0x001c line=487 │ │ - 0x0024 line=492 │ │ - 0x002d line=493 │ │ - 0x0030 line=496 │ │ - 0x0034 line=497 │ │ - 0x0035 line=477 │ │ - 0x003b line=478 │ │ - 0x0045 line=479 │ │ - 0x0049 line=483 │ │ - locals : │ │ - 0x000b - 0x0035 reg=0 currentPin Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - 0x0011 - 0x0035 reg=1 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x003b - 0x004b reg=0 currentPin Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - 0x0049 - 0x004b reg=1 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0000 - 0x004b reg=4 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x004b reg=5 user Ljava/lang/String; │ │ - 0x0000 - 0x004b reg=6 position I │ │ - 0x0000 - 0x004b reg=7 computeHotp Z │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onActivityResult' │ │ - type : '(IILandroid/content/Intent;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 8 │ │ - ins : 4 │ │ - outs : 3 │ │ - insns size : 40 16-bit code units │ │ -009784: |[009784] com.google.android.apps.authenticator.AuthenticatorActivity.onActivityResult:(IILandroid/content/Intent;)V │ │ -009794: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -009796: 1502 067f |0001: const/high16 v2, #int 2131099648 // #7f06 │ │ -00979a: 6e20 5801 2400 |0003: invoke-virtual {v4, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -0097a0: 0c02 |0006: move-result-object v2 │ │ -0097a2: 1a03 4b00 |0007: const-string v3, "AuthenticatorActivity: onActivityResult" // string@004b │ │ -0097a6: 7120 9900 3200 |0009: invoke-static {v2, v3}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ -0097ac: 1302 697a |000c: const/16 v2, #int 31337 // #7a69 │ │ -0097b0: 3325 1700 |000e: if-ne v5, v2, 0025 // +0017 │ │ -0097b4: 12f2 |0010: const/4 v2, #int -1 // #ff │ │ -0097b6: 3326 1400 |0011: if-ne v6, v2, 0025 // +0014 │ │ -0097ba: 3807 1300 |0013: if-eqz v7, 0026 // +0013 │ │ -0097be: 1a02 5c02 |0015: const-string v2, "SCAN_RESULT" // string@025c │ │ -0097c2: 6e20 3700 2700 |0017: invoke-virtual {v7, v2}, Landroid/content/Intent;.getStringExtra:(Ljava/lang/String;)Ljava/lang/String; // method@0037 │ │ -0097c8: 0c00 |001a: move-result-object v0 │ │ -0097ca: 3800 0600 |001b: if-eqz v0, 0021 // +0006 │ │ -0097ce: 7110 6c00 0000 |001d: invoke-static {v0}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006c │ │ -0097d4: 0c01 |0020: move-result-object v1 │ │ -0097d6: 1202 |0021: const/4 v2, #int 0 // #0 │ │ -0097d8: 7030 5e01 1402 |0022: invoke-direct {v4, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.interpretScanResult:(Landroid/net/Uri;Z)V // method@015e │ │ -0097de: 0e00 |0025: return-void │ │ -0097e0: 0710 |0026: move-object v0, v1 │ │ -0097e2: 28f4 |0027: goto 001b // -000c │ │ - catches : (none) │ │ - positions : │ │ - 0x0001 line=785 │ │ - 0x000c line=786 │ │ - 0x0013 line=788 │ │ - 0x001b line=789 │ │ - 0x0021 line=790 │ │ - 0x0025 line=792 │ │ - 0x0027 line=788 │ │ - locals : │ │ - 0x001b - 0x0025 reg=0 scanResult Ljava/lang/String; │ │ - 0x0021 - 0x0025 reg=1 uri Landroid/net/Uri; │ │ - 0x0000 - 0x0028 reg=4 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0028 reg=5 requestCode I │ │ - 0x0000 - 0x0028 reg=6 resultCode I │ │ - 0x0000 - 0x0028 reg=7 intent Landroid/content/Intent; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onContextItemSelected' │ │ - type : '(Landroid/view/MenuItem;)Z' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 17 │ │ - ins : 2 │ │ - outs : 4 │ │ - insns size : 338 16-bit code units │ │ -0097e4: |[0097e4] com.google.android.apps.authenticator.AuthenticatorActivity.onContextItemSelected:(Landroid/view/MenuItem;)Z │ │ -0097f4: 7801 a300 1000 |0000: invoke-interface/range {v16}, Landroid/view/MenuItem;.getMenuInfo:()Landroid/view/ContextMenu$ContextMenuInfo; // method@00a3 │ │ -0097fa: 0c03 |0003: move-result-object v3 │ │ -0097fc: 1f03 5300 |0004: check-cast v3, Landroid/widget/AdapterView$AdapterContextMenuInfo; // type@0053 │ │ -009800: 533b 0600 |0006: iget-wide v11, v3, Landroid/widget/AdapterView$AdapterContextMenuInfo;.id:J // field@0006 │ │ -009804: 7030 5c01 bf0c |0008: invoke-direct {v15, v11, v12}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.idToEmail:(J)Ljava/lang/String; // method@015c │ │ -00980a: 0c09 |000b: move-result-object v9 │ │ -00980c: 7801 a200 1000 |000c: invoke-interface/range {v16}, Landroid/view/MenuItem;.getItemId:()I // method@00a2 │ │ -009812: 0a0b |000f: move-result v11 │ │ -009814: 2b0b 3601 0000 |0010: packed-switch v11, 00000146 // +00000136 │ │ -00981a: 7502 7f02 0f00 |0013: invoke-super/range {v15, v16}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onContextItemSelected:(Landroid/view/MenuItem;)Z // method@027f │ │ -009820: 0a0b |0016: move-result v11 │ │ -009822: 0f0b |0017: return v11 │ │ -009824: 1a0b 7403 |0018: const-string v11, "clipboard" // string@0374 │ │ -009828: 6e20 5a01 bf00 |001a: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@015a │ │ -00982e: 0c00 |001d: move-result-object v0 │ │ -009830: 1f00 3d00 |001e: check-cast v0, Landroid/text/ClipboardManager; // type@003d │ │ -009834: 54fb 6400 |0020: iget-object v11, v15, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -009838: 533c 0600 |0022: iget-wide v12, v3, Landroid/widget/AdapterView$AdapterContextMenuInfo;.id:J // field@0006 │ │ -00983c: 84cc |0024: long-to-int v12, v12 │ │ -00983e: 460b 0b0c |0025: aget-object v11, v11, v12 │ │ -009842: 7110 2e01 0b00 |0027: invoke-static {v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ -009848: 0c0b |002a: move-result-object v11 │ │ -00984a: 6e20 9400 b000 |002b: invoke-virtual {v0, v11}, Landroid/text/ClipboardManager;.setText:(Ljava/lang/CharSequence;)V // method@0094 │ │ -009850: 121b |002e: const/4 v11, #int 1 // #1 │ │ -009852: 28e8 |002f: goto 0017 // -0018 │ │ -009854: 2204 1700 |0030: new-instance v4, Landroid/content/Intent; // type@0017 │ │ -009858: 1a0b 1903 |0032: const-string v11, "android.intent.action.VIEW" // string@0319 │ │ -00985c: 7020 3000 b400 |0034: invoke-direct {v4, v11}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0030 │ │ -009862: 1c0b 7d00 |0037: const-class v11, Lcom/google/android/apps/authenticator/CheckCodeActivity; // type@007d │ │ -009866: 6e30 3b00 f40b |0039: invoke-virtual {v4, v15, v11}, Landroid/content/Intent;.setClass:(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent; // method@003b │ │ -00986c: 1a0b c206 |003c: const-string v11, "user" // string@06c2 │ │ -009870: 6e30 3900 b409 |003e: invoke-virtual {v4, v11, v9}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@0039 │ │ -009876: 6e20 7e01 4f00 |0041: invoke-virtual {v15, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ -00987c: 121b |0044: const/4 v11, #int 1 // #1 │ │ -00987e: 28d2 |0045: goto 0017 // -002e │ │ -009880: 07f1 |0046: move-object v1, v15 │ │ -009882: 6e10 5401 0f00 |0047: invoke-virtual {v15}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLayoutInflater:()Landroid/view/LayoutInflater; // method@0154 │ │ -009888: 0c0c |004a: move-result-object v12 │ │ -00988a: 140d 0800 037f |004b: const v13, #float 1.74129e+38 // #7f030008 │ │ -009890: 140b 1200 0a7f |004e: const v11, #float 1.83434e+38 // #7f0a0012 │ │ -009896: 6e20 5001 bf00 |0051: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ -00989c: 0c0b |0054: move-result-object v11 │ │ -00989e: 1f0b 4f00 |0055: check-cast v11, Landroid/view/ViewGroup; // type@004f │ │ -0098a2: 6e30 9f00 dc0b |0057: invoke-virtual {v12, v13, v11}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@009f │ │ -0098a8: 0c02 |005a: move-result-object v2 │ │ -0098aa: 140b 1300 0a7f |005b: const v11, #float 1.83434e+38 // #7f0a0013 │ │ -0098b0: 6e20 a500 b200 |005e: invoke-virtual {v2, v11}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ -0098b6: 0c05 |0061: move-result-object v5 │ │ -0098b8: 1f05 5800 |0062: check-cast v5, Landroid/widget/EditText; // type@0058 │ │ -0098bc: 6e20 bf00 9500 |0064: invoke-virtual {v5, v9}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00bf │ │ -0098c2: 220b 0900 |0067: new-instance v11, Landroid/app/AlertDialog$Builder; // type@0009 │ │ -0098c6: 7020 0700 fb00 |0069: invoke-direct {v11, v15}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ -0098cc: 140c 3200 067f |006c: const v12, #float 1.78118e+38 // #7f060032 │ │ -0098d2: 6e20 5801 cf00 |006f: invoke-virtual {v15, v12}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -0098d8: 0c0c |0072: move-result-object v12 │ │ -0098da: 121d |0073: const/4 v13, #int 1 // #1 │ │ -0098dc: 23dd 3601 |0074: new-array v13, v13, [Ljava/lang/Object; // type@0136 │ │ -0098e0: 120e |0076: const/4 v14, #int 0 // #0 │ │ -0098e2: 4d09 0d0e |0077: aput-object v9, v13, v14 │ │ -0098e6: 7120 4503 dc00 |0079: invoke-static {v12, v13}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ -0098ec: 0c0c |007c: move-result-object v12 │ │ -0098ee: 6e20 1100 cb00 |007d: invoke-virtual {v11, v12}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@0011 │ │ -0098f4: 0c0b |0080: move-result-object v11 │ │ -0098f6: 6e20 1200 2b00 |0081: invoke-virtual {v11, v2}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@0012 │ │ -0098fc: 0c0b |0084: move-result-object v11 │ │ -0098fe: 140c 2a00 067f |0085: const v12, #float 1.78117e+38 // #7f06002a │ │ -009904: 7040 5601 1f59 |0088: invoke-direct {v15, v1, v9, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getRenameClickListener:(Landroid/content/Context;Ljava/lang/String;Landroid/widget/EditText;)Landroid/content/DialogInterface$OnClickListener; // method@0156 │ │ -00990a: 0c0d |008b: move-result-object v13 │ │ -00990c: 6e30 0f00 cb0d |008c: invoke-virtual {v11, v12, v13}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ -009912: 0c0b |008f: move-result-object v11 │ │ -009914: 140c 2b00 067f |0090: const v12, #float 1.78117e+38 // #7f06002b │ │ -00991a: 120d |0093: const/4 v13, #int 0 // #0 │ │ -00991c: 6e30 0d00 cb0d |0094: invoke-virtual {v11, v12, v13}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ -009922: 0c0b |0097: move-result-object v11 │ │ -009924: 6e10 1300 0b00 |0098: invoke-virtual {v11}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0013 │ │ -00992a: 121b |009b: const/4 v11, #int 1 // #1 │ │ -00992c: 2900 7bff |009c: goto/16 0017 // -0085 │ │ -009930: 6e10 5401 0f00 |009e: invoke-virtual {v15}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLayoutInflater:()Landroid/view/LayoutInflater; // method@0154 │ │ -009936: 0c0b |00a1: move-result-object v11 │ │ -009938: 140c 0700 037f |00a2: const v12, #float 1.74129e+38 // #7f030007 │ │ -00993e: 120d |00a5: const/4 v13, #int 0 // #0 │ │ -009940: 120e |00a6: const/4 v14, #int 0 // #0 │ │ -009942: 6e40 a000 cbed |00a7: invoke-virtual {v11, v12, v13, v14}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a0 │ │ -009948: 0c08 |00aa: move-result-object v8 │ │ -00994a: 140b 1100 0a7f |00ab: const v11, #float 1.83434e+38 // #7f0a0011 │ │ -009950: 6e20 a500 b800 |00ae: invoke-virtual {v8, v11}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ -009956: 0c0a |00b1: move-result-object v10 │ │ -009958: 1f0a 5200 |00b2: check-cast v10, Landroid/webkit/WebView; // type@0052 │ │ -00995c: 120b |00b4: const/4 v11, #int 0 // #0 │ │ -00995e: 6e20 b500 ba00 |00b5: invoke-virtual {v10, v11}, Landroid/webkit/WebView;.setBackgroundColor:(I)V // method@00b5 │ │ -009964: 121b |00b8: const/4 v11, #int 1 // #1 │ │ -009966: 150c 2041 |00b9: const/high16 v12, #int 1092616192 // #4120 │ │ -00996a: 6e10 5701 0f00 |00bb: invoke-virtual {v15}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getResources:()Landroid/content/res/Resources; // method@0157 │ │ -009970: 0c0d |00be: move-result-object v13 │ │ -009972: 6e10 4900 0d00 |00bf: invoke-virtual {v13}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@0049 │ │ -009978: 0c0d |00c2: move-result-object v13 │ │ -00997a: 7130 9c00 cb0d |00c3: invoke-static {v11, v12, v13}, Landroid/util/TypedValue;.applyDimension:(IFLandroid/util/DisplayMetrics;)F // method@009c │ │ -009980: 0a0b |00c6: move-result v11 │ │ -009982: 89bb |00c7: float-to-double v11, v11 │ │ -009984: 190d 2440 |00c8: const-wide/high16 v13, #long 4621819117588971520 // #4024 │ │ -009988: ae06 0b0d |00ca: div-double v6, v11, v13 │ │ -00998c: 6e10 b300 0a00 |00cc: invoke-virtual {v10}, Landroid/webkit/WebView;.getSettings:()Landroid/webkit/WebSettings; // method@00b3 │ │ -009992: 0c0b |00cf: move-result-object v11 │ │ -009994: 54fc 5900 |00d0: iget-object v12, v15, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mEnterPinPrompt:Landroid/widget/TextView; // field@0059 │ │ -009998: 6e10 cc00 0c00 |00d2: invoke-virtual {v12}, Landroid/widget/TextView;.getTextSize:()F // method@00cc │ │ -00999e: 0a0c |00d5: move-result v12 │ │ -0099a0: 89cc |00d6: float-to-double v12, v12 │ │ -0099a2: ce6c |00d7: div-double/2addr v12, v6 │ │ -0099a4: 8acc |00d8: double-to-int v12, v12 │ │ -0099a6: 6e20 b200 cb00 |00d9: invoke-virtual {v11, v12}, Landroid/webkit/WebSettings;.setDefaultFontSize:(I)V // method@00b2 │ │ -0099ac: 220b f900 |00dc: new-instance v11, Ljava/lang/StringBuilder; // type@00f9 │ │ -0099b0: 7010 5303 0b00 |00de: invoke-direct {v11}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -0099b6: 1a0c 2d00 |00e1: const-string v12, "" // string@002d │ │ -0099ba: 6e20 5a03 cb00 |00e3: invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0099c0: 0c0c |00e6: move-result-object v12 │ │ -0099c2: 54fb 5500 |00e7: iget-object v11, v15, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ -0099c6: 6e20 ec00 9b00 |00e9: invoke-virtual {v11, v9}, Lcom/google/android/apps/authenticator/AccountDb;.isGoogleAccount:(Ljava/lang/String;)Z // method@00ec │ │ -0099cc: 0a0b |00ec: move-result v11 │ │ -0099ce: 380b 5500 |00ed: if-eqz v11, 0142 // +0055 │ │ -0099d2: 140b 3000 067f |00ef: const v11, #float 1.78118e+38 // #7f060030 │ │ -0099d8: 6e20 5801 bf00 |00f2: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -0099de: 0c0b |00f5: move-result-object v11 │ │ -0099e0: 6e20 5a03 bc00 |00f6: invoke-virtual {v12, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0099e6: 0c0b |00f9: move-result-object v11 │ │ -0099e8: 1a0c 2700 |00fa: const-string v12, "" // string@0027 │ │ -0099ec: 6e20 5a03 cb00 |00fc: invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -0099f2: 0c0b |00ff: move-result-object v11 │ │ -0099f4: 6e10 5b03 0b00 |0100: invoke-virtual {v11}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -0099fa: 0c0b |0103: move-result-object v11 │ │ -0099fc: 7120 1f02 ba00 |0104: invoke-static {v10, v11}, Lcom/google/android/apps/authenticator/Utilities;.setWebViewHtml:(Landroid/webkit/WebView;Ljava/lang/String;)V // method@021f │ │ -009a02: 220b 0900 |0107: new-instance v11, Landroid/app/AlertDialog$Builder; // type@0009 │ │ -009a06: 7020 0700 fb00 |0109: invoke-direct {v11, v15}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ -009a0c: 140c 2e00 067f |010c: const v12, #float 1.78117e+38 // #7f06002e │ │ -009a12: 121d |010f: const/4 v13, #int 1 // #1 │ │ -009a14: 23dd 3601 |0110: new-array v13, v13, [Ljava/lang/Object; // type@0136 │ │ -009a18: 120e |0112: const/4 v14, #int 0 // #0 │ │ -009a1a: 4d09 0d0e |0113: aput-object v9, v13, v14 │ │ -009a1e: 6e30 5901 cf0d |0115: invoke-virtual {v15, v12, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@0159 │ │ -009a24: 0c0c |0118: move-result-object v12 │ │ -009a26: 6e20 1100 cb00 |0119: invoke-virtual {v11, v12}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@0011 │ │ -009a2c: 0c0b |011c: move-result-object v11 │ │ -009a2e: 6e20 1200 8b00 |011d: invoke-virtual {v11, v8}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@0012 │ │ -009a34: 0c0b |0120: move-result-object v11 │ │ -009a36: 140c 2700 0801 |0121: const v12, #float 2.49794e-38 // #01080027 │ │ -009a3c: 6e20 0a00 cb00 |0124: invoke-virtual {v11, v12}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ -009a42: 0c0b |0127: move-result-object v11 │ │ -009a44: 140c 2d00 067f |0128: const v12, #float 1.78117e+38 // #7f06002d │ │ -009a4a: 220d 6e00 |012b: new-instance v13, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5; // type@006e │ │ -009a4e: 7030 1501 fd09 |012d: invoke-direct {v13, v15, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;)V // method@0115 │ │ -009a54: 6e30 0f00 cb0d |0130: invoke-virtual {v11, v12, v13}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ -009a5a: 0c0b |0133: move-result-object v11 │ │ -009a5c: 140c 2b00 067f |0134: const v12, #float 1.78117e+38 // #7f06002b │ │ -009a62: 120d |0137: const/4 v13, #int 0 // #0 │ │ -009a64: 6e30 0d00 cb0d |0138: invoke-virtual {v11, v12, v13}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ -009a6a: 0c0b |013b: move-result-object v11 │ │ -009a6c: 6e10 1300 0b00 |013c: invoke-virtual {v11}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0013 │ │ -009a72: 121b |013f: const/4 v11, #int 1 // #1 │ │ -009a74: 2900 d7fe |0140: goto/16 0017 // -0129 │ │ -009a78: 140b 2f00 067f |0142: const v11, #float 1.78118e+38 // #7f06002f │ │ -009a7e: 28ad |0145: goto 00f2 // -0053 │ │ -009a80: 0001 0400 0000 0000 2000 0000 3600 ... |0146: packed-switch-data (12 units) │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=670 │ │ - 0x0006 line=672 │ │ - 0x000c line=673 │ │ - 0x0013 line=737 │ │ - 0x0018 line=675 │ │ - 0x0020 line=677 │ │ - 0x002e line=678 │ │ - 0x0030 line=680 │ │ - 0x0037 line=681 │ │ - 0x003c line=682 │ │ - 0x0041 line=683 │ │ - 0x0044 line=684 │ │ - 0x0046 line=686 │ │ - 0x0047 line=687 │ │ - 0x005b line=689 │ │ - 0x0064 line=690 │ │ - 0x0067 line=691 │ │ - 0x009b line=698 │ │ - 0x009e line=701 │ │ - 0x00ab line=703 │ │ - 0x00b4 line=704 │ │ - 0x00b8 line=706 │ │ - 0x00cc line=709 │ │ - 0x00dc line=711 │ │ - 0x0107 line=720 │ │ - 0x013f line=735 │ │ - 0x0142 line=711 │ │ - 0x0146 line=673 │ │ - locals : │ │ - 0x0020 - 0x0030 reg=0 clipboard Landroid/text/ClipboardManager; │ │ - 0x0037 - 0x0046 reg=4 intent Landroid/content/Intent; │ │ - 0x0047 - 0x009e reg=1 context Landroid/content/Context; │ │ - 0x005b - 0x009e reg=2 frame Landroid/view/View; │ │ - 0x0064 - 0x009e reg=5 nameEdit Landroid/widget/EditText; │ │ - 0x0006 - 0x0152 reg=3 info Landroid/widget/AdapterView$AdapterContextMenuInfo; │ │ - 0x00cc - 0x0152 reg=6 pixelsPerDip D │ │ - 0x00ab - 0x0152 reg=8 promptContentView Landroid/view/View; │ │ - 0x000c - 0x0152 reg=9 user Ljava/lang/String; │ │ - 0x00b4 - 0x0152 reg=10 webView Landroid/webkit/WebView; │ │ - 0x0000 - 0x0152 reg=15 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0152 reg=16 item Landroid/view/MenuItem; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 12 │ │ - ins : 2 │ │ - outs : 5 │ │ - insns size : 273 16-bit code units │ │ -009a98: |[009a98] com.google.android.apps.authenticator.AuthenticatorActivity.onCreate:(Landroid/os/Bundle;)V │ │ -009aa8: 1208 |0000: const/4 v8, #int 0 // #0 │ │ -009aaa: 1307 0800 |0001: const/16 v7, #int 8 // #8 │ │ -009aae: 6f20 8002 ba00 |0003: invoke-super {v10, v11}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onCreate:(Landroid/os/Bundle;)V // method@0280 │ │ -009ab4: 7100 6402 0000 |0006: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ -009aba: 0c06 |0009: move-result-object v6 │ │ -009abc: 5ba6 5500 |000a: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ -009ac0: 7100 6902 0000 |000c: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOtpProvider:()Lcom/google/android/apps/authenticator/OtpSource; // method@0269 │ │ -009ac6: 0c06 |000f: move-result-object v6 │ │ -009ac8: 5ba6 5b00 |0010: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@005b │ │ -009acc: 1506 067f |0012: const/high16 v6, #int 2131099648 // #7f06 │ │ -009ad0: 6e20 7901 6a00 |0014: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setTitle:(I)V // method@0179 │ │ -009ad6: 54a6 5b00 |0017: iget-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@005b │ │ -009ada: 7210 dc01 0600 |0019: invoke-interface {v6}, Lcom/google/android/apps/authenticator/OtpSource;.getTotpCounter:()Lcom/google/android/apps/authenticator/TotpCounter; // method@01dc │ │ -009ae0: 0c06 |001c: move-result-object v6 │ │ -009ae2: 5ba6 6100 |001d: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0061 │ │ -009ae6: 54a6 5b00 |001f: iget-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@005b │ │ -009aea: 7210 db01 0600 |0021: invoke-interface {v6}, Lcom/google/android/apps/authenticator/OtpSource;.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; // method@01db │ │ -009af0: 0c06 |0024: move-result-object v6 │ │ -009af2: 5ba6 5e00 |0025: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@005e │ │ -009af6: 1406 0600 037f |0027: const v6, #float 1.74129e+38 // #7f030006 │ │ -009afc: 6e20 7801 6a00 |002a: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setContentView:(I)V // method@0178 │ │ -009b02: 6e10 5201 0a00 |002d: invoke-virtual {v10}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLastNonConfigurationInstance:()Ljava/lang/Object; // method@0152 │ │ -009b08: 0c05 |0030: move-result-object v5 │ │ -009b0a: 3805 1d00 |0031: if-eqz v5, 004e // +001d │ │ -009b0e: 1f05 3001 |0033: check-cast v5, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ -009b12: 1f05 3001 |0035: check-cast v5, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ -009b16: 5ba5 6400 |0037: iput-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -009b1a: 54a1 6400 |0039: iget-object v1, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -009b1e: 2113 |003b: array-length v3, v1 │ │ -009b20: 1202 |003c: const/4 v2, #int 0 // #0 │ │ -009b22: 3532 1100 |003d: if-ge v2, v3, 004e // +0011 │ │ -009b26: 4600 0102 |003f: aget-object v0, v1, v2 │ │ -009b2a: 7110 2a01 0000 |0041: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z // method@012a │ │ -009b30: 0a06 |0044: move-result v6 │ │ -009b32: 3806 0600 |0045: if-eqz v6, 004b // +0006 │ │ -009b36: 1216 |0047: const/4 v6, #int 1 // #1 │ │ -009b38: 7120 2d01 6000 |0048: invoke-static {v0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ -009b3e: d802 0201 |004b: add-int/lit8 v2, v2, #int 1 // #01 │ │ -009b42: 28f0 |004d: goto 003d // -0010 │ │ -009b44: 380b 1600 |004e: if-eqz v11, 0064 // +0016 │ │ -009b48: 1a06 5d05 |0050: const-string v6, "oldAppUninstallIntent" // string@055d │ │ -009b4c: 6e20 7300 6b00 |0052: invoke-virtual {v11, v6}, Landroid/os/Bundle;.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable; // method@0073 │ │ -009b52: 0c06 |0055: move-result-object v6 │ │ -009b54: 1f06 1700 |0056: check-cast v6, Landroid/content/Intent; // type@0017 │ │ -009b58: 5ba6 5a00 |0058: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOldAppUninstallIntent:Landroid/content/Intent; // field@005a │ │ -009b5c: 1a06 0e06 |005a: const-string v6, "saveKeyDialogParams" // string@060e │ │ -009b60: 6e20 7400 6b00 |005c: invoke-virtual {v11, v6}, Landroid/os/Bundle;.getSerializable:(Ljava/lang/String;)Ljava/io/Serializable; // method@0074 │ │ -009b66: 0c06 |005f: move-result-object v6 │ │ -009b68: 1f06 7800 |0060: check-cast v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // type@0078 │ │ -009b6c: 5ba6 5c00 |0062: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@005c │ │ -009b70: 1406 1000 0a7f |0064: const v6, #float 1.83434e+38 // #7f0a0010 │ │ -009b76: 6e20 5001 6a00 |0067: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ -009b7c: 0c06 |006a: move-result-object v6 │ │ -009b7e: 1f06 5b00 |006b: check-cast v6, Landroid/widget/ListView; // type@005b │ │ -009b82: 5ba6 6300 |006d: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -009b86: 1406 0b00 0a7f |006f: const v6, #float 1.83434e+38 // #7f0a000b │ │ -009b8c: 6e20 5001 6a00 |0072: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ -009b92: 0c06 |0075: move-result-object v6 │ │ -009b94: 5ba6 5700 |0076: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentNoAccounts:Landroid/view/View; // field@0057 │ │ -009b98: 1406 0e00 0a7f |0078: const v6, #float 1.83434e+38 // #7f0a000e │ │ -009b9e: 6e20 5001 6a00 |007b: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ -009ba4: 0c06 |007e: move-result-object v6 │ │ -009ba6: 5ba6 5600 |007f: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentAccountsPresent:Landroid/view/View; // field@0056 │ │ -009baa: 54a9 5700 |0081: iget-object v9, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentNoAccounts:Landroid/view/View; // field@0057 │ │ -009bae: 54a6 6400 |0083: iget-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -009bb2: 2166 |0085: array-length v6, v6 │ │ -009bb4: 3d06 8600 |0086: if-lez v6, 010c // +0086 │ │ -009bb8: 0176 |0088: move v6, v7 │ │ -009bba: 6e20 ab00 6900 |0089: invoke-virtual {v9, v6}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -009bc0: 54a6 5600 |008c: iget-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentAccountsPresent:Landroid/view/View; // field@0056 │ │ -009bc4: 54a9 6400 |008e: iget-object v9, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -009bc8: 2199 |0090: array-length v9, v9 │ │ -009bca: 3d09 7e00 |0091: if-lez v9, 010f // +007e │ │ -009bce: 6e20 ab00 8600 |0093: invoke-virtual {v6, v8}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -009bd4: 1406 0a00 0a7f |0096: const v6, #float 1.83434e+38 // #7f0a000a │ │ -009bda: 6e20 5001 6a00 |0099: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ -009be0: 0c04 |009c: move-result-object v4 │ │ -009be2: 1f04 5e00 |009d: check-cast v4, Landroid/widget/TextView; // type@005e │ │ -009be6: 1406 4400 067f |009f: const v6, #float 1.78118e+38 // #7f060044 │ │ -009bec: 6e20 5801 6a00 |00a2: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -009bf2: 0c06 |00a5: move-result-object v6 │ │ -009bf4: 7110 9500 0600 |00a6: invoke-static {v6}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0095 │ │ -009bfa: 0c06 |00a9: move-result-object v6 │ │ -009bfc: 6e20 cd00 6400 |00aa: invoke-virtual {v4, v6}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ -009c02: 1406 0c00 0a7f |00ad: const v6, #float 1.83434e+38 // #7f0a000c │ │ -009c08: 6e20 5001 6a00 |00b0: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ -009c0e: 0c06 |00b3: move-result-object v6 │ │ -009c10: 2208 6a00 |00b4: new-instance v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1; // type@006a │ │ -009c14: 7020 0c01 a800 |00b6: invoke-direct {v8, v10}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@010c │ │ -009c1a: 6e20 a900 8600 |00b9: invoke-virtual {v6, v8}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ -009c20: 1406 0d00 0a7f |00bc: const v6, #float 1.83434e+38 // #7f0a000d │ │ -009c26: 6e20 5001 6a00 |00bf: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ -009c2c: 0c06 |00c2: move-result-object v6 │ │ -009c2e: 2208 6b00 |00c3: new-instance v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2; // type@006b │ │ -009c32: 7020 0e01 a800 |00c5: invoke-direct {v8, v10}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@010e │ │ -009c38: 6e20 a900 8600 |00c8: invoke-virtual {v6, v8}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ -009c3e: 1406 0f00 0a7f |00cb: const v6, #float 1.83434e+38 // #7f0a000f │ │ -009c44: 6e20 5001 6a00 |00ce: invoke-virtual {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ -009c4a: 0c06 |00d1: move-result-object v6 │ │ -009c4c: 1f06 5e00 |00d2: check-cast v6, Landroid/widget/TextView; // type@005e │ │ -009c50: 5ba6 5900 |00d4: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mEnterPinPrompt:Landroid/widget/TextView; // field@0059 │ │ -009c54: 2206 7700 |00d6: new-instance v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // type@0077 │ │ -009c58: 1408 0a00 037f |00d8: const v8, #float 1.74129e+38 // #7f03000a │ │ -009c5e: 54a9 6400 |00db: iget-object v9, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -009c62: 7059 3201 a68a |00dd: invoke-direct {v6, v10, v10, v8, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Context;I[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V // method@0132 │ │ -009c68: 5ba6 6200 |00e0: iput-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ -009c6c: 54a6 6300 |00e2: iget-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -009c70: 6e20 c800 7600 |00e4: invoke-virtual {v6, v7}, Landroid/widget/ListView;.setVisibility:(I)V // method@00c8 │ │ -009c76: 54a6 6300 |00e7: iget-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -009c7a: 54a7 6200 |00e9: iget-object v7, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ -009c7e: 6e20 c600 7600 |00eb: invoke-virtual {v6, v7}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00c6 │ │ -009c84: 54a6 6300 |00ee: iget-object v6, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -009c88: 2207 6c00 |00f0: new-instance v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3; // type@006c │ │ -009c8c: 7020 1001 a700 |00f2: invoke-direct {v7, v10}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0110 │ │ -009c92: 6e20 c700 7600 |00f5: invoke-virtual {v6, v7}, Landroid/widget/ListView;.setOnItemClickListener:(Landroid/widget/AdapterView$OnItemClickListener;)V // method@00c7 │ │ -009c98: 390b 1300 |00f8: if-nez v11, 010b // +0013 │ │ -009c9c: 7100 6802 0000 |00fa: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -009ca2: 0c06 |00fd: move-result-object v6 │ │ -009ca4: 7220 cb01 a600 |00fe: invoke-interface {v6, v10}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityCreated:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@01cb │ │ -009caa: 7010 5d01 0a00 |0101: invoke-direct {v10}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.importDataFromOldAppIfNecessary:()V // method@015d │ │ -009cb0: 6e10 5101 0a00 |0104: invoke-virtual {v10}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getIntent:()Landroid/content/Intent; // method@0151 │ │ -009cb6: 0c06 |0107: move-result-object v6 │ │ -009cb8: 7020 5b01 6a00 |0108: invoke-direct {v10, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.handleIntent:(Landroid/content/Intent;)V // method@015b │ │ -009cbe: 0e00 |010b: return-void │ │ -009cc0: 0186 |010c: move v6, v8 │ │ -009cc2: 2900 7cff |010d: goto/16 0089 // -0084 │ │ -009cc6: 0178 |010f: move v8, v7 │ │ -009cc8: 2883 |0110: goto 0093 // -007d │ │ - catches : (none) │ │ - positions : │ │ - 0x0003 line=198 │ │ - 0x0006 line=200 │ │ - 0x000c line=201 │ │ - 0x0012 line=205 │ │ - 0x0017 line=207 │ │ - 0x001f line=208 │ │ - 0x0027 line=210 │ │ - 0x002d line=213 │ │ - 0x0031 line=214 │ │ - 0x0033 line=215 │ │ - 0x0039 line=217 │ │ - 0x0041 line=218 │ │ - 0x0047 line=219 │ │ - 0x004b line=217 │ │ - 0x004e line=224 │ │ - 0x0050 line=225 │ │ - 0x005a line=226 │ │ - 0x0064 line=230 │ │ - 0x006f line=231 │ │ - 0x0078 line=232 │ │ - 0x0081 line=233 │ │ - 0x008c line=234 │ │ - 0x0096 line=235 │ │ - 0x009f line=236 │ │ - 0x00ad line=239 │ │ - 0x00bc line=245 │ │ - 0x00cb line=251 │ │ - 0x00d6 line=253 │ │ - 0x00e2 line=255 │ │ - 0x00e7 line=256 │ │ - 0x00ee line=257 │ │ - 0x00f8 line=270 │ │ - 0x00fa line=273 │ │ - 0x0101 line=274 │ │ - 0x0104 line=275 │ │ - 0x010b line=277 │ │ - 0x010d line=233 │ │ - 0x0110 line=234 │ │ - locals : │ │ - 0x0031 - 0x0035 reg=5 savedState Ljava/lang/Object; │ │ - 0x0041 - 0x004e reg=0 account Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - 0x003b - 0x004e reg=1 arr$ [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - 0x003d - 0x004e reg=2 i$ I │ │ - 0x003c - 0x004e reg=3 len$ I │ │ - 0x009f - 0x010c reg=4 noAccountsPromptDetails Landroid/widget/TextView; │ │ - 0x0000 - 0x0111 reg=10 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0111 reg=11 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - #4 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onCreateContextMenu' │ │ - type : '(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 10 │ │ - ins : 4 │ │ - outs : 5 │ │ - insns size : 54 16-bit code units │ │ -009ccc: |[009ccc] com.google.android.apps.authenticator.AuthenticatorActivity.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V │ │ -009cdc: 1205 |0000: const/4 v5, #int 0 // #0 │ │ -009cde: 6f40 8102 7698 |0001: invoke-super {v6, v7, v8, v9}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V // method@0281 │ │ -009ce4: 0790 |0004: move-object v0, v9 │ │ -009ce6: 1f00 5300 |0005: check-cast v0, Landroid/widget/AdapterView$AdapterContextMenuInfo; // type@0053 │ │ -009cea: 5303 0600 |0007: iget-wide v3, v0, Landroid/widget/AdapterView$AdapterContextMenuInfo;.id:J // field@0006 │ │ -009cee: 7030 5c01 3604 |0009: invoke-direct {v6, v3, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.idToEmail:(J)Ljava/lang/String; // method@015c │ │ -009cf4: 0c02 |000c: move-result-object v2 │ │ -009cf6: 5463 5500 |000d: iget-object v3, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ -009cfa: 6e20 ea00 2300 |000f: invoke-virtual {v3, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ -009d00: 0c01 |0012: move-result-object v1 │ │ -009d02: 7220 9e00 2700 |0013: invoke-interface {v7, v2}, Landroid/view/ContextMenu;.setHeaderTitle:(Ljava/lang/CharSequence;)Landroid/view/ContextMenu; // method@009e │ │ -009d08: 1233 |0016: const/4 v3, #int 3 // #3 │ │ -009d0a: 1404 3400 067f |0017: const v4, #float 1.78118e+38 // #7f060034 │ │ -009d10: 7254 9d00 5753 |001a: invoke-interface {v7, v5, v3, v5, v4}, Landroid/view/ContextMenu;.add:(IIII)Landroid/view/MenuItem; // method@009d │ │ -009d16: 6203 0900 |001d: sget-object v3, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -009d1a: 3331 0800 |001f: if-ne v1, v3, 0027 // +0008 │ │ -009d1e: 1403 1b00 067f |0021: const v3, #float 1.78117e+38 // #7f06001b │ │ -009d24: 7253 9d00 5755 |0024: invoke-interface {v7, v5, v5, v5, v3}, Landroid/view/ContextMenu;.add:(IIII)Landroid/view/MenuItem; // method@009d │ │ -009d2a: 1213 |0027: const/4 v3, #int 1 // #1 │ │ -009d2c: 1404 3100 067f |0028: const v4, #float 1.78118e+38 // #7f060031 │ │ -009d32: 7254 9d00 5753 |002b: invoke-interface {v7, v5, v3, v5, v4}, Landroid/view/ContextMenu;.add:(IIII)Landroid/view/MenuItem; // method@009d │ │ -009d38: 1223 |002e: const/4 v3, #int 2 // #2 │ │ -009d3a: 1404 2c00 067f |002f: const v4, #float 1.78117e+38 // #7f06002c │ │ -009d40: 7254 9d00 5753 |0032: invoke-interface {v7, v5, v3, v5, v4}, Landroid/view/ContextMenu;.add:(IIII)Landroid/view/MenuItem; // method@009d │ │ -009d46: 0e00 |0035: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0001 line=654 │ │ - 0x0005 line=655 │ │ - 0x0007 line=656 │ │ - 0x000d line=657 │ │ - 0x0013 line=658 │ │ - 0x0016 line=659 │ │ - 0x001d line=661 │ │ - 0x0021 line=662 │ │ - 0x0027 line=664 │ │ - 0x002e line=665 │ │ - 0x0035 line=666 │ │ - locals : │ │ - 0x0007 - 0x0036 reg=0 info Landroid/widget/AdapterView$AdapterContextMenuInfo; │ │ - 0x0013 - 0x0036 reg=1 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x000d - 0x0036 reg=2 user Ljava/lang/String; │ │ - 0x0000 - 0x0036 reg=6 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0036 reg=7 menu Landroid/view/ContextMenu; │ │ - 0x0000 - 0x0036 reg=8 v Landroid/view/View; │ │ - 0x0000 - 0x0036 reg=9 menuInfo Landroid/view/ContextMenu$ContextMenuInfo; │ │ - │ │ - #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onCreateDialog' │ │ - type : '(I)Landroid/app/Dialog;' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 10 │ │ - ins : 2 │ │ - outs : 4 │ │ - insns size : 226 16-bit code units │ │ -009d48: |[009d48] com.google.android.apps.authenticator.AuthenticatorActivity.onCreateDialog:(I)Landroid/app/Dialog; │ │ -009d58: 1404 1300 067f |0000: const v4, #float 1.78117e+38 // #7f060013 │ │ -009d5e: 1207 |0003: const/4 v7, #int 0 // #0 │ │ -009d60: 1406 2b00 067f |0004: const v6, #float 1.78117e+38 // #7f06002b │ │ -009d66: 1405 2700 0801 |0007: const v5, #float 2.49794e-38 // #01080027 │ │ -009d6c: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -009d6e: 2c09 c100 0000 |000b: sparse-switch v9, 000000cc // +000000c1 │ │ -009d74: 7100 6802 0000 |000e: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -009d7a: 0c03 |0011: move-result-object v3 │ │ -009d7c: 7230 ca01 8309 |0012: invoke-interface {v3, v8, v9}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityCreateDialog:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)Landroid/app/Dialog; // method@01ca │ │ -009d82: 0c00 |0015: move-result-object v0 │ │ -009d84: 3900 0600 |0016: if-nez v0, 001c // +0006 │ │ -009d88: 6f20 8202 9800 |0018: invoke-super {v8, v9}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onCreateDialog:(I)Landroid/app/Dialog; // method@0282 │ │ -009d8e: 0c00 |001b: move-result-object v0 │ │ -009d90: 1100 |001c: return-object v0 │ │ -009d92: 2201 0900 |001d: new-instance v1, Landroid/app/AlertDialog$Builder; // type@0009 │ │ -009d96: 7020 0700 8100 |001f: invoke-direct {v1, v8}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ -009d9c: 1403 1c00 067f |0022: const v3, #float 1.78117e+38 // #7f06001c │ │ -009da2: 6e20 1000 3100 |0025: invoke-virtual {v1, v3}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ -009da8: 1403 1d00 067f |0028: const v3, #float 1.78117e+38 // #7f06001d │ │ -009dae: 6e20 0b00 3100 |002b: invoke-virtual {v1, v3}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ -009db4: 6e20 0a00 5100 |002e: invoke-virtual {v1, v5}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ -009dba: 1403 1e00 067f |0031: const v3, #float 1.78117e+38 // #7f06001e │ │ -009dc0: 2204 7000 |0034: new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7; // type@0070 │ │ -009dc4: 7020 1901 8400 |0036: invoke-direct {v4, v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0119 │ │ -009dca: 6e30 0f00 3104 |0039: invoke-virtual {v1, v3, v4}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ -009dd0: 6e30 0d00 6107 |003c: invoke-virtual {v1, v6, v7}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ -009dd6: 6e10 0800 0100 |003f: invoke-virtual {v1}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ -009ddc: 0c00 |0042: move-result-object v0 │ │ -009dde: 28d9 |0043: goto 001c // -0027 │ │ -009de0: 5482 5c00 |0044: iget-object v2, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@005c │ │ -009de4: 2203 0900 |0046: new-instance v3, Landroid/app/AlertDialog$Builder; // type@0009 │ │ -009de8: 7020 0700 8300 |0048: invoke-direct {v3, v8}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ -009dee: 1404 1700 067f |004b: const v4, #float 1.78117e+38 // #7f060017 │ │ -009df4: 6e20 1000 4300 |004e: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ -009dfa: 0c03 |0051: move-result-object v3 │ │ -009dfc: 7110 3801 0200 |0052: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; // method@0138 │ │ -009e02: 0c04 |0055: move-result-object v4 │ │ -009e04: 6e20 0c00 4300 |0056: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ -009e0a: 0c03 |0059: move-result-object v3 │ │ -009e0c: 6e20 0a00 5300 |005a: invoke-virtual {v3, v5}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ -009e12: 0c03 |005d: move-result-object v3 │ │ -009e14: 1404 3700 067f |005e: const v4, #float 1.78118e+38 // #7f060037 │ │ -009e1a: 2205 7100 |0061: new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8; // type@0071 │ │ -009e1e: 7030 1b01 8502 |0063: invoke-direct {v5, v8, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)V // method@011b │ │ -009e24: 6e30 0f00 4305 |0066: invoke-virtual {v3, v4, v5}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ -009e2a: 0c03 |0069: move-result-object v3 │ │ -009e2c: 6e30 0d00 6307 |006a: invoke-virtual {v3, v6, v7}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ -009e32: 0c03 |006d: move-result-object v3 │ │ -009e34: 6e10 0800 0300 |006e: invoke-virtual {v3}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ -009e3a: 0c00 |0071: move-result-object v0 │ │ -009e3c: 2203 7200 |0072: new-instance v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9; // type@0072 │ │ -009e40: 7030 1d01 8309 |0074: invoke-direct {v3, v8, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)V // method@011d │ │ -009e46: 6e20 1a00 3000 |0077: invoke-virtual {v0, v3}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001a │ │ -009e4c: 28a2 |007a: goto 001c // -005e │ │ -009e4e: 1403 1500 067f |007b: const v3, #float 1.78117e+38 // #7f060015 │ │ -009e54: 7040 4e01 4853 |007e: invoke-direct {v8, v4, v3, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.createOkAlertDialog:(III)Landroid/app/Dialog; // method@014e │ │ -009e5a: 0c00 |0081: move-result-object v0 │ │ -009e5c: 7020 6001 0800 |0082: invoke-direct {v8, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.markDialogAsResultOfSaveKeyIntent:(Landroid/app/Dialog;)V // method@0160 │ │ -009e62: 2897 |0085: goto 001c // -0069 │ │ -009e64: 1403 1400 067f |0086: const v3, #float 1.78117e+38 // #7f060014 │ │ -009e6a: 7040 4e01 4853 |0089: invoke-direct {v8, v4, v3, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.createOkAlertDialog:(III)Landroid/app/Dialog; // method@014e │ │ -009e70: 0c00 |008c: move-result-object v0 │ │ -009e72: 7020 6001 0800 |008d: invoke-direct {v8, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.markDialogAsResultOfSaveKeyIntent:(Landroid/app/Dialog;)V // method@0160 │ │ -009e78: 288c |0090: goto 001c // -0074 │ │ -009e7a: 2203 0900 |0091: new-instance v3, Landroid/app/AlertDialog$Builder; // type@0009 │ │ -009e7e: 7020 0700 8300 |0093: invoke-direct {v3, v8}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ -009e84: 1404 3900 067f |0096: const v4, #float 1.78118e+38 // #7f060039 │ │ -009e8a: 6e20 1000 4300 |0099: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ -009e90: 0c03 |009c: move-result-object v3 │ │ -009e92: 7100 6802 0000 |009d: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -009e98: 0c04 |00a0: move-result-object v4 │ │ -009e9a: 1405 3a00 067f |00a1: const v5, #float 1.78118e+38 // #7f06003a │ │ -009ea0: 6e20 5801 5800 |00a4: invoke-virtual {v8, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -009ea6: 0c05 |00a7: move-result-object v5 │ │ -009ea8: 7230 c401 8405 |00a8: invoke-interface {v4, v8, v5}, Lcom/google/android/apps/authenticator/OptionalFeatures;.appendDataImportLearnMoreLink:(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; // method@01c4 │ │ -009eae: 0c04 |00ab: move-result-object v4 │ │ -009eb0: 6e20 0c00 4300 |00ac: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ -009eb6: 0c03 |00af: move-result-object v3 │ │ -009eb8: 1214 |00b0: const/4 v4, #int 1 // #1 │ │ -009eba: 6e20 0900 4300 |00b1: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@0009 │ │ -009ec0: 0c03 |00b4: move-result-object v3 │ │ -009ec2: 1404 3b00 067f |00b5: const v4, #float 1.78118e+38 // #7f06003b │ │ -009ec8: 2205 6700 |00b8: new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10; // type@0067 │ │ -009ecc: 7020 0401 8500 |00ba: invoke-direct {v5, v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0104 │ │ -009ed2: 6e30 0f00 4305 |00bd: invoke-virtual {v3, v4, v5}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ -009ed8: 0c03 |00c0: move-result-object v3 │ │ -009eda: 6e30 0d00 6307 |00c1: invoke-virtual {v3, v6, v7}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ -009ee0: 0c03 |00c4: move-result-object v3 │ │ -009ee2: 6e10 0800 0300 |00c5: invoke-virtual {v3}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ -009ee8: 0c00 |00c8: move-result-object v0 │ │ -009eea: 2900 53ff |00c9: goto/16 001c // -00ad │ │ -009eee: 0000 |00cb: nop // spacer │ │ -009ef0: 0002 0500 0000 0000 0300 0000 0700 ... |00cc: sparse-switch-data (22 units) │ │ - catches : (none) │ │ - positions : │ │ - 0x000a line=874 │ │ - 0x000b line=875 │ │ - 0x000e line=972 │ │ - 0x0016 line=974 │ │ - 0x0018 line=975 │ │ - 0x001c line=979 │ │ - 0x001d line=881 │ │ - 0x0022 line=882 │ │ - 0x0028 line=883 │ │ - 0x002e line=884 │ │ - 0x0031 line=885 │ │ - 0x003c line=902 │ │ - 0x003f line=903 │ │ - 0x0043 line=904 │ │ - 0x0044 line=907 │ │ - 0x0046 line=908 │ │ - 0x0072 line=930 │ │ - 0x007b line=940 │ │ - 0x0082 line=942 │ │ - 0x0086 line=946 │ │ - 0x008d line=948 │ │ - 0x0091 line=952 │ │ - 0x00c9 line=969 │ │ - 0x00cb line=875 │ │ - locals : │ │ - 0x0022 - 0x0044 reg=1 dlBuilder Landroid/app/AlertDialog$Builder; │ │ - 0x0046 - 0x007b reg=2 saveKeyDialogParams Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ - 0x000b - 0x00e2 reg=0 dialog Landroid/app/Dialog; │ │ - 0x0000 - 0x00e2 reg=8 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x00e2 reg=9 id I │ │ - │ │ - #6 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onCreateOptionsMenu' │ │ - type : '(Landroid/view/Menu;)Z' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 11 16-bit code units │ │ -009f1c: |[009f1c] com.google.android.apps.authenticator.AuthenticatorActivity.onCreateOptionsMenu:(Landroid/view/Menu;)Z │ │ -009f2c: 6e10 5501 0200 |0000: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getMenuInflater:()Landroid/view/MenuInflater; // method@0155 │ │ -009f32: 0c00 |0003: move-result-object v0 │ │ -009f34: 1501 097f |0004: const/high16 v1, #int 2131296256 // #7f09 │ │ -009f38: 6e30 a100 1003 |0006: invoke-virtual {v0, v1, v3}, Landroid/view/MenuInflater;.inflate:(ILandroid/view/Menu;)V // method@00a1 │ │ -009f3e: 1210 |0009: const/4 v0, #int 1 // #1 │ │ -009f40: 0f00 |000a: return v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=762 │ │ - 0x0009 line=763 │ │ - locals : │ │ - 0x0000 - 0x000b reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x000b reg=3 menu Landroid/view/Menu; │ │ - │ │ - #7 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onMenuItemSelected' │ │ - type : '(ILandroid/view/MenuItem;)Z' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 5 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 36 16-bit code units │ │ -009f44: |[009f44] com.google.android.apps.authenticator.AuthenticatorActivity.onMenuItemSelected:(ILandroid/view/MenuItem;)Z │ │ -009f54: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -009f56: 7210 a200 0400 |0001: invoke-interface {v4}, Landroid/view/MenuItem;.getItemId:()I // method@00a2 │ │ -009f5c: 0a01 |0004: move-result v1 │ │ -009f5e: 2b01 1500 0000 |0005: packed-switch v1, 0000001a // +00000015 │ │ -009f64: 6f30 8302 3204 |0008: invoke-super {v2, v3, v4}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onMenuItemSelected:(ILandroid/view/MenuItem;)Z // method@0283 │ │ -009f6a: 0a00 |000b: move-result v0 │ │ -009f6c: 0f00 |000c: return v0 │ │ -009f6e: 7010 4c01 0200 |000d: invoke-direct {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.addAccount:()V // method@014c │ │ -009f74: 28fc |0010: goto 000c // -0004 │ │ -009f76: 7010 4f01 0200 |0011: invoke-direct {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.displayHowItWorksInstructions:()V // method@014f │ │ -009f7c: 28f8 |0014: goto 000c // -0008 │ │ -009f7e: 7010 7d01 0200 |0015: invoke-direct {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showSettings:()V // method@017d │ │ -009f84: 28f4 |0018: goto 000c // -000c │ │ -009f86: 0000 |0019: nop // spacer │ │ -009f88: 0001 0300 2300 0a7f 0800 0000 0c00 ... |001a: packed-switch-data (10 units) │ │ - catches : (none) │ │ - positions : │ │ - 0x0001 line=768 │ │ - 0x0008 line=780 │ │ - 0x000d line=770 │ │ - 0x0011 line=773 │ │ - 0x0015 line=776 │ │ - 0x0019 line=768 │ │ - locals : │ │ - 0x0000 - 0x0024 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0024 reg=3 featureId I │ │ - 0x0000 - 0x0024 reg=4 item Landroid/view/MenuItem; │ │ - │ │ - #8 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onNewIntent' │ │ - type : '(Landroid/content/Intent;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 15 16-bit code units │ │ -009f9c: |[009f9c] com.google.android.apps.authenticator.AuthenticatorActivity.onNewIntent:(Landroid/content/Intent;)V │ │ -009fac: 1500 067f |0000: const/high16 v0, #int 2131099648 // #7f06 │ │ -009fb0: 6e20 5801 0200 |0002: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -009fb6: 0c00 |0005: move-result-object v0 │ │ -009fb8: 1a01 4c00 |0006: const-string v1, "AuthenticatorActivity: onNewIntent" // string@004c │ │ -009fbc: 7120 9900 1000 |0008: invoke-static {v0, v1}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ -009fc2: 7020 5b01 3200 |000b: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.handleIntent:(Landroid/content/Intent;)V // method@015b │ │ -009fc8: 0e00 |000e: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=319 │ │ - 0x000b line=320 │ │ - 0x000e line=321 │ │ - locals : │ │ - 0x0000 - 0x000f reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x000f reg=3 intent Landroid/content/Intent; │ │ - │ │ - #9 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onResume' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 18 16-bit code units │ │ -009fcc: |[009fcc] com.google.android.apps.authenticator.AuthenticatorActivity.onResume:()V │ │ -009fdc: 6f10 8402 0200 |0000: invoke-super {v2}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onResume:()V // method@0284 │ │ -009fe2: 1500 067f |0003: const/high16 v0, #int 2131099648 // #7f06 │ │ -009fe6: 6e20 5801 0200 |0005: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ -009fec: 0c00 |0008: move-result-object v0 │ │ -009fee: 1a01 4d00 |0009: const-string v1, "AuthenticatorActivity: onResume" // string@004d │ │ -009ff2: 7120 9900 1000 |000b: invoke-static {v0, v1}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ -009ff8: 7010 5d01 0200 |000e: invoke-direct {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.importDataFromOldAppIfNecessary:()V // method@015d │ │ -009ffe: 0e00 |0011: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=332 │ │ - 0x0003 line=333 │ │ - 0x000e line=335 │ │ - 0x0011 line=336 │ │ - locals : │ │ - 0x0000 - 0x0012 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #10 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onRetainNonConfigurationInstance' │ │ - type : '()Ljava/lang/Object;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -00a000: |[00a000] com.google.android.apps.authenticator.AuthenticatorActivity.onRetainNonConfigurationInstance:()Ljava/lang/Object; │ │ -00a010: 5410 6400 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -00a014: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=311 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #11 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onSaveInstanceState' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 18 16-bit code units │ │ -00a018: |[00a018] com.google.android.apps.authenticator.AuthenticatorActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ -00a028: 6f20 8502 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0285 │ │ -00a02e: 1a00 5d05 |0003: const-string v0, "oldAppUninstallIntent" // string@055d │ │ -00a032: 5421 5a00 |0005: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOldAppUninstallIntent:Landroid/content/Intent; // field@005a │ │ -00a036: 6e30 7700 0301 |0007: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putParcelable:(Ljava/lang/String;Landroid/os/Parcelable;)V // method@0077 │ │ -00a03c: 1a00 0e06 |000a: const-string v0, "saveKeyDialogParams" // string@060e │ │ -00a040: 5421 5c00 |000c: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@005c │ │ -00a044: 6e30 7800 0301 |000e: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putSerializable:(Ljava/lang/String;Ljava/io/Serializable;)V // method@0078 │ │ -00a04a: 0e00 |0011: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=303 │ │ - 0x0003 line=305 │ │ - 0x000a line=306 │ │ - 0x0011 line=307 │ │ - locals : │ │ - 0x0000 - 0x0012 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0012 reg=3 outState Landroid/os/Bundle; │ │ - │ │ - #12 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onStart' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 7 16-bit code units │ │ -00a04c: |[00a04c] com.google.android.apps.authenticator.AuthenticatorActivity.onStart:()V │ │ -00a05c: 6f10 8602 0000 |0000: invoke-super {v0}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onStart:()V // method@0286 │ │ -00a062: 7010 8101 0000 |0003: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.updateCodesAndStartTotpCountdownTask:()V // method@0181 │ │ -00a068: 0e00 |0006: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=325 │ │ - 0x0003 line=327 │ │ - 0x0006 line=328 │ │ - locals : │ │ - 0x0000 - 0x0007 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #13 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'onStop' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 7 16-bit code units │ │ -00a06c: |[00a06c] com.google.android.apps.authenticator.AuthenticatorActivity.onStop:()V │ │ -00a07c: 7010 8001 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.stopTotpCountdownTask:()V // method@0180 │ │ -00a082: 6f10 8702 0000 |0003: invoke-super {v0}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onStop:()V // method@0287 │ │ -00a088: 0e00 |0006: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=340 │ │ - 0x0003 line=342 │ │ - 0x0006 line=343 │ │ - locals : │ │ - 0x0000 - 0x0007 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #14 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'refreshUserList' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 5 16-bit code units │ │ -00a08c: |[00a08c] com.google.android.apps.authenticator.AuthenticatorActivity.refreshUserList:()V │ │ -00a09c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -00a09e: 6e20 7101 0100 |0001: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:(Z)V // method@0171 │ │ -00a0a4: 0e00 |0004: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=382 │ │ - 0x0004 line=383 │ │ - locals : │ │ - 0x0000 - 0x0005 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #15 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ - name : 'refreshUserList' │ │ - type : '(Z)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 12 │ │ - ins : 2 │ │ - outs : 5 │ │ - insns size : 133 16-bit code units │ │ -00a0a8: |[00a0a8] com.google.android.apps.authenticator.AuthenticatorActivity.refreshUserList:(Z)V │ │ -00a0b8: 1306 0800 |0000: const/16 v6, #int 8 // #8 │ │ -00a0bc: 1207 |0002: const/4 v7, #int 0 // #0 │ │ -00a0be: 2204 0b01 |0003: new-instance v4, Ljava/util/ArrayList; // type@010b │ │ -00a0c2: 7010 6703 0400 |0005: invoke-direct {v4}, Ljava/util/ArrayList;.:()V // method@0367 │ │ -00a0c8: 54a5 5500 |0008: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ -00a0cc: 6e20 e600 4500 |000a: invoke-virtual {v5, v4}, Lcom/google/android/apps/authenticator/AccountDb;.getNames:(Ljava/util/Collection;)I // method@00e6 │ │ -00a0d2: 6e10 6a03 0400 |000d: invoke-virtual {v4}, Ljava/util/ArrayList;.size:()I // method@036a │ │ -00a0d8: 0a03 |0010: move-result v3 │ │ -00a0da: 3d03 6400 |0011: if-lez v3, 0075 // +0064 │ │ -00a0de: 390b 0700 |0013: if-nez v11, 001a // +0007 │ │ -00a0e2: 54a5 6400 |0015: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -00a0e6: 2155 |0017: array-length v5, v5 │ │ -00a0e8: 3235 1900 |0018: if-eq v5, v3, 0031 // +0019 │ │ -00a0ec: 1211 |001a: const/4 v1, #int 1 // #1 │ │ -00a0ee: 3801 0600 |001b: if-eqz v1, 0021 // +0006 │ │ -00a0f2: 2335 3001 |001d: new-array v5, v3, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ -00a0f6: 5ba5 6400 |001f: iput-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -00a0fa: 1200 |0021: const/4 v0, #int 0 // #0 │ │ -00a0fc: 3530 1100 |0022: if-ge v0, v3, 0033 // +0011 │ │ -00a100: 6e20 6903 0400 |0024: invoke-virtual {v4, v0}, Ljava/util/ArrayList;.get:(I)Ljava/lang/Object; // method@0369 │ │ -00a106: 0c02 |0027: move-result-object v2 │ │ -00a108: 1f02 f800 |0028: check-cast v2, Ljava/lang/String; // type@00f8 │ │ -00a10c: 1205 |002a: const/4 v5, #int 0 // #0 │ │ -00a10e: 6e40 4d01 2a50 |002b: invoke-virtual {v10, v2, v0, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.computeAndDisplayPin:(Ljava/lang/String;IZ)V // method@014d │ │ -00a114: d800 0001 |002e: add-int/lit8 v0, v0, #int 1 // #01 │ │ -00a118: 28f2 |0030: goto 0022 // -000e │ │ -00a11a: 0171 |0031: move v1, v7 │ │ -00a11c: 28e9 |0032: goto 001b // -0017 │ │ -00a11e: 3801 1500 |0033: if-eqz v1, 0048 // +0015 │ │ -00a122: 2205 7700 |0035: new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // type@0077 │ │ -00a126: 1408 0a00 037f |0037: const v8, #float 1.74129e+38 // #7f03000a │ │ -00a12c: 54a9 6400 |003a: iget-object v9, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -00a130: 7059 3201 a58a |003c: invoke-direct {v5, v10, v10, v8, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Context;I[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V // method@0132 │ │ -00a136: 5ba5 6200 |003f: iput-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ -00a13a: 54a5 6300 |0041: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -00a13e: 54a8 6200 |0043: iget-object v8, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ -00a142: 6e20 c600 8500 |0045: invoke-virtual {v5, v8}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00c6 │ │ -00a148: 54a5 6200 |0048: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ -00a14c: 6e10 3501 0500 |004a: invoke-virtual {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.notifyDataSetChanged:()V // method@0135 │ │ -00a152: 54a5 6300 |004d: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -00a156: 6e10 c400 0500 |004f: invoke-virtual {v5}, Landroid/widget/ListView;.getVisibility:()I // method@00c4 │ │ -00a15c: 0a05 |0052: move-result v5 │ │ -00a15e: 3805 0c00 |0053: if-eqz v5, 005f // +000c │ │ -00a162: 54a5 6300 |0055: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -00a166: 6e20 c800 7500 |0057: invoke-virtual {v5, v7}, Landroid/widget/ListView;.setVisibility:(I)V // method@00c8 │ │ -00a16c: 54a5 6300 |005a: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -00a170: 6e20 7301 5a00 |005c: invoke-virtual {v10, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.registerForContextMenu:(Landroid/view/View;)V // method@0173 │ │ -00a176: 54a8 5700 |005f: iget-object v8, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentNoAccounts:Landroid/view/View; // field@0057 │ │ -00a17a: 54a5 6400 |0061: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -00a17e: 2155 |0063: array-length v5, v5 │ │ -00a180: 3d05 1b00 |0064: if-lez v5, 007f // +001b │ │ -00a184: 0165 |0066: move v5, v6 │ │ -00a186: 6e20 ab00 5800 |0067: invoke-virtual {v8, v5}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -00a18c: 54a5 5600 |006a: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentAccountsPresent:Landroid/view/View; // field@0056 │ │ -00a190: 54a8 6400 |006c: iget-object v8, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -00a194: 2188 |006e: array-length v8, v8 │ │ -00a196: 3d08 1200 |006f: if-lez v8, 0081 // +0012 │ │ -00a19a: 6e20 ab00 7500 |0071: invoke-virtual {v5, v7}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -00a1a0: 0e00 |0074: return-void │ │ -00a1a2: 2375 3001 |0075: new-array v5, v7, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ -00a1a6: 5ba5 6400 |0077: iput-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ -00a1aa: 54a5 6300 |0079: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ -00a1ae: 6e20 c800 6500 |007b: invoke-virtual {v5, v6}, Landroid/widget/ListView;.setVisibility:(I)V // method@00c8 │ │ -00a1b4: 28e1 |007e: goto 005f // -001f │ │ -00a1b6: 0175 |007f: move v5, v7 │ │ -00a1b8: 28e7 |0080: goto 0067 // -0019 │ │ -00a1ba: 0167 |0081: move v7, v6 │ │ -00a1bc: 28ef |0082: goto 0071 // -0011 │ │ -00a1be: 0d05 |0083: move-exception v5 │ │ -00a1c0: 28aa |0084: goto 002e // -0056 │ │ - catches : 1 │ │ - 0x002b - 0x002e │ │ - Lcom/google/android/apps/authenticator/OtpSourceException; -> 0x0083 │ │ - positions : │ │ - 0x0003 line=418 │ │ - 0x0008 line=419 │ │ - 0x000d line=421 │ │ - 0x0011 line=423 │ │ - 0x0013 line=424 │ │ - 0x001b line=425 │ │ - 0x001d line=426 │ │ - 0x0021 line=429 │ │ - 0x0024 line=430 │ │ - 0x002a line=432 │ │ - 0x002e line=429 │ │ - 0x0032 line=424 │ │ - 0x0033 line=436 │ │ - 0x0035 line=439 │ │ - 0x0041 line=440 │ │ - 0x0048 line=443 │ │ - 0x004d line=445 │ │ - 0x0055 line=446 │ │ - 0x005a line=447 │ │ - 0x005f line=457 │ │ - 0x006a line=458 │ │ - 0x0074 line=459 │ │ - 0x0075 line=450 │ │ - 0x0079 line=451 │ │ - 0x0080 line=457 │ │ - 0x0082 line=458 │ │ - 0x0083 line=433 │ │ - locals : │ │ - 0x0022 - 0x0031 reg=0 i I │ │ - 0x001b - 0x0031 reg=1 newListRequired Z │ │ - 0x002a - 0x0031 reg=2 user Ljava/lang/String; │ │ - 0x0033 - 0x005f reg=0 i I │ │ - 0x0033 - 0x005f reg=1 newListRequired Z │ │ - 0x0083 - 0x0085 reg=0 i I │ │ - 0x0083 - 0x0085 reg=1 newListRequired Z │ │ - 0x0083 - 0x0085 reg=2 user Ljava/lang/String; │ │ - 0x0011 - 0x0085 reg=3 userCount I │ │ - 0x0008 - 0x0085 reg=4 usernames Ljava/util/ArrayList; Ljava/util/ArrayList; │ │ - 0x0000 - 0x0085 reg=10 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0085 reg=11 isAccountModified Z │ │ - │ │ - source_file_idx : 68 (AuthenticatorActivity.java) │ │ - │ │ -Class #33 header: │ │ +Class #23 header: │ │ class_idx : 122 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 11 │ │ source_file_idx : 78 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 2 │ │ │ │ -Class #33 - │ │ +Class #23 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorApplication;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Landroid/app/Application;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ @@ -7696,17 +3747,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00a1d4: |[00a1d4] com.google.android.apps.authenticator.AuthenticatorApplication.:()V │ │ -00a1e4: 7010 1500 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@0015 │ │ -00a1ea: 0e00 |0003: return-void │ │ +00aa28: |[00aa28] com.google.android.apps.authenticator.AuthenticatorApplication.:()V │ │ +00aa38: 7010 1500 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@0015 │ │ +00aa3e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorApplication; │ │ │ │ Virtual methods - │ │ @@ -7715,34 +3766,35 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 26 16-bit code units │ │ -00a1ec: |[00a1ec] com.google.android.apps.authenticator.AuthenticatorApplication.onCreate:()V │ │ -00a1fc: 6f10 1600 0100 |0000: invoke-super {v1}, Landroid/app/Application;.onCreate:()V // method@0016 │ │ -00a202: 6e10 8501 0100 |0003: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/AuthenticatorApplication;.getApplicationContext:()Landroid/content/Context; // method@0185 │ │ -00a208: 0c00 |0006: move-result-object v0 │ │ -00a20a: 6e10 2200 0000 |0007: invoke-virtual {v0}, Landroid/content/Context;.getApplicationInfo:()Landroid/content/pm/ApplicationInfo; // method@0022 │ │ -00a210: 0c00 |000a: move-result-object v0 │ │ -00a212: 5400 0000 |000b: iget-object v0, v0, Landroid/content/pm/ApplicationInfo;.dataDir:Ljava/lang/String; // field@0000 │ │ -00a216: 7110 b301 0000 |000d: invoke-static {v0}, Lcom/google/android/apps/authenticator/FileUtilities;.restrictAccessToOwnerOnly:(Ljava/lang/String;)V // method@01b3 │ │ -00a21c: 6e10 8501 0100 |0010: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/AuthenticatorApplication;.getApplicationContext:()Landroid/content/Context; // method@0185 │ │ -00a222: 0c00 |0013: move-result-object v0 │ │ -00a224: 7110 6302 0000 |0014: invoke-static {v0}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.configureForProductionIfNotConfigured:(Landroid/content/Context;)V // method@0263 │ │ -00a22a: 0e00 |0017: return-void │ │ -00a22c: 0d00 |0018: move-exception v0 │ │ -00a22e: 28f7 |0019: goto 0010 // -0009 │ │ +00aa40: |[00aa40] com.google.android.apps.authenticator.AuthenticatorApplication.onCreate:()V │ │ +00aa50: 6f10 1600 0100 |0000: invoke-super {v1}, Landroid/app/Application;.onCreate:()V // method@0016 │ │ +00aa56: 6e10 8501 0100 |0003: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/AuthenticatorApplication;.getApplicationContext:()Landroid/content/Context; // method@0185 │ │ +00aa5c: 0c00 |0006: move-result-object v0 │ │ +00aa5e: 6e10 2200 0000 |0007: invoke-virtual {v0}, Landroid/content/Context;.getApplicationInfo:()Landroid/content/pm/ApplicationInfo; // method@0022 │ │ +00aa64: 0c00 |000a: move-result-object v0 │ │ +00aa66: 5400 0000 |000b: iget-object v0, v0, Landroid/content/pm/ApplicationInfo;.dataDir:Ljava/lang/String; // field@0000 │ │ +00aa6a: 7110 b301 0000 |000d: invoke-static {v0}, Lcom/google/android/apps/authenticator/FileUtilities;.restrictAccessToOwnerOnly:(Ljava/lang/String;)V // method@01b3 │ │ +00aa70: 6e10 8501 0100 |0010: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/AuthenticatorApplication;.getApplicationContext:()Landroid/content/Context; // method@0185 │ │ +00aa76: 0c00 |0013: move-result-object v0 │ │ +00aa78: 7110 6302 0000 |0014: invoke-static {v0}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.configureForProductionIfNotConfigured:(Landroid/content/Context;)V // method@0263 │ │ +00aa7e: 0e00 |0017: return-void │ │ +00aa80: 0d00 |0018: move-exception v0 │ │ +00aa82: 28f7 |0019: goto 0010 // -0009 │ │ catches : 1 │ │ 0x0003 - 0x0010 │ │ Ljava/lang/Throwable; -> 0x0018 │ │ positions : │ │ 0x0000 line=38 │ │ - 0x0003 line=45 │ │ + 0x0003 line=46 │ │ + 0x000d line=45 │ │ 0x0010 line=53 │ │ 0x0017 line=54 │ │ 0x0018 line=47 │ │ locals : │ │ 0x0000 - 0x001a reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorApplication; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorApplication;) │ │ @@ -7750,44 +3802,44 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -00a240: |[00a240] com.google.android.apps.authenticator.AuthenticatorApplication.onTerminate:()V │ │ -00a250: 7100 6202 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.close:()V // method@0262 │ │ -00a256: 6f10 1700 0000 |0003: invoke-super {v0}, Landroid/app/Application;.onTerminate:()V // method@0017 │ │ -00a25c: 0e00 |0006: return-void │ │ +00aa94: |[00aa94] com.google.android.apps.authenticator.AuthenticatorApplication.onTerminate:()V │ │ +00aaa4: 7100 6202 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.close:()V // method@0262 │ │ +00aaaa: 6f10 1700 0000 |0003: invoke-super {v0}, Landroid/app/Application;.onTerminate:()V // method@0017 │ │ +00aab0: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=58 │ │ 0x0003 line=60 │ │ 0x0006 line=61 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorApplication; │ │ │ │ source_file_idx : 78 (AuthenticatorApplication.java) │ │ │ │ -Class #34 header: │ │ +Class #24 header: │ │ class_idx : 123 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 230 │ │ source_file_idx : 82 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #34 annotations: │ │ +Class #24 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/Base32String; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=9 name="DecodingException" │ │ │ │ -Class #34 - │ │ +Class #24 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/Base32String$DecodingException;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Exception;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ @@ -7796,51 +3848,51 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -00a260: |[00a260] com.google.android.apps.authenticator.Base32String$DecodingException.:(Ljava/lang/String;)V │ │ -00a270: 7020 2103 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0321 │ │ -00a276: 0e00 |0003: return-void │ │ +00aab4: |[00aab4] com.google.android.apps.authenticator.Base32String$DecodingException.:(Ljava/lang/String;)V │ │ +00aac4: 7020 2103 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0321 │ │ +00aaca: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=158 │ │ 0x0003 line=159 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/Base32String$DecodingException; │ │ 0x0000 - 0x0004 reg=1 message Ljava/lang/String; │ │ │ │ Virtual methods - │ │ source_file_idx : 82 (Base32String.java) │ │ │ │ -Class #35 header: │ │ +Class #25 header: │ │ class_idx : 124 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ source_file_idx : 82 │ │ static_fields_size : 2 │ │ instance_fields_size: 5 │ │ direct_methods_size : 5 │ │ virtual_methods_size: 3 │ │ │ │ -Class #35 annotations: │ │ +Class #25 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/Base32String$DecodingException; } │ │ Annotations on field #102 'CHAR_MAP' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/util/HashMap" "<" "Ljava/lang/Character;" "Ljava/lang/Integer;" ">;" } │ │ Annotations on method #396 'clone' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/CloneNotSupportedException; } │ │ Annotations on method #397 'decode' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/Base32String$DecodingException; } │ │ Annotations on method #398 'decodeInternal' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/Base32String$DecodingException; } │ │ │ │ -Class #35 - │ │ +Class #25 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/Base32String;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/Base32String;) │ │ name : 'INSTANCE' │ │ @@ -7879,68 +3931,68 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -00a278: |[00a278] com.google.android.apps.authenticator.Base32String.:()V │ │ -00a288: 2200 7c00 |0000: new-instance v0, Lcom/google/android/apps/authenticator/Base32String; // type@007c │ │ -00a28c: 1a01 3500 |0002: const-string v1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567" // string@0035 │ │ -00a290: 7020 8b01 1000 |0004: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/Base32String;.:(Ljava/lang/String;)V // method@018b │ │ -00a296: 6900 6800 |0007: sput-object v0, Lcom/google/android/apps/authenticator/Base32String;.INSTANCE:Lcom/google/android/apps/authenticator/Base32String; // field@0068 │ │ -00a29a: 0e00 |0009: return-void │ │ +00aacc: |[00aacc] com.google.android.apps.authenticator.Base32String.:()V │ │ +00aadc: 2200 7c00 |0000: new-instance v0, Lcom/google/android/apps/authenticator/Base32String; // type@007c │ │ +00aae0: 1a01 3500 |0002: const-string v1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567" // string@0035 │ │ +00aae4: 7020 8b01 1000 |0004: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/Base32String;.:(Ljava/lang/String;)V // method@018b │ │ +00aaea: 6900 6800 |0007: sput-object v0, Lcom/google/android/apps/authenticator/Base32String;.INSTANCE:Lcom/google/android/apps/authenticator/Base32String; // field@0068 │ │ +00aaee: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/Base32String;) │ │ name : '' │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x10004 (PROTECTED CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 63 16-bit code units │ │ -00a29c: |[00a29c] com.google.android.apps.authenticator.Base32String.:(Ljava/lang/String;)V │ │ -00a2ac: 7010 3a03 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@033a │ │ -00a2b2: 5b45 6500 |0003: iput-object v5, v4, Lcom/google/android/apps/authenticator/Base32String;.ALPHABET:Ljava/lang/String; // field@0065 │ │ -00a2b6: 5441 6500 |0005: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.ALPHABET:Ljava/lang/String; // field@0065 │ │ -00a2ba: 6e10 4d03 0100 |0007: invoke-virtual {v1}, Ljava/lang/String;.toCharArray:()[C // method@034d │ │ -00a2c0: 0c01 |000a: move-result-object v1 │ │ -00a2c2: 5b41 6700 |000b: iput-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ -00a2c6: 5441 6700 |000d: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ -00a2ca: 2111 |000f: array-length v1, v1 │ │ -00a2cc: d801 01ff |0010: add-int/lit8 v1, v1, #int -1 // #ff │ │ -00a2d0: 5941 6900 |0012: iput v1, v4, Lcom/google/android/apps/authenticator/Base32String;.MASK:I // field@0069 │ │ -00a2d4: 5441 6700 |0014: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ -00a2d8: 2111 |0016: array-length v1, v1 │ │ -00a2da: 7110 2d03 0100 |0017: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@032d │ │ -00a2e0: 0a01 |001a: move-result v1 │ │ -00a2e2: 5941 6b00 |001b: iput v1, v4, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a2e6: 2201 1001 |001d: new-instance v1, Ljava/util/HashMap; // type@0110 │ │ -00a2ea: 7010 6f03 0100 |001f: invoke-direct {v1}, Ljava/util/HashMap;.:()V // method@036f │ │ -00a2f0: 5b41 6600 |0022: iput-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.CHAR_MAP:Ljava/util/HashMap; // field@0066 │ │ -00a2f4: 1200 |0024: const/4 v0, #int 0 // #0 │ │ -00a2f6: 5441 6700 |0025: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ -00a2fa: 2111 |0027: array-length v1, v1 │ │ -00a2fc: 3510 1600 |0028: if-ge v0, v1, 003e // +0016 │ │ -00a300: 5441 6600 |002a: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.CHAR_MAP:Ljava/util/HashMap; // field@0066 │ │ -00a304: 5442 6700 |002c: iget-object v2, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ -00a308: 4902 0200 |002e: aget-char v2, v2, v0 │ │ -00a30c: 7110 1503 0200 |0030: invoke-static {v2}, Ljava/lang/Character;.valueOf:(C)Ljava/lang/Character; // method@0315 │ │ -00a312: 0c02 |0033: move-result-object v2 │ │ -00a314: 7110 3203 0000 |0034: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00a31a: 0c03 |0037: move-result-object v3 │ │ -00a31c: 6e30 7203 2103 |0038: invoke-virtual {v1, v2, v3}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0372 │ │ -00a322: d800 0001 |003b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -00a326: 28e8 |003d: goto 0025 // -0018 │ │ -00a328: 0e00 |003e: return-void │ │ +00aaf0: |[00aaf0] com.google.android.apps.authenticator.Base32String.:(Ljava/lang/String;)V │ │ +00ab00: 7010 3a03 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@033a │ │ +00ab06: 5b45 6500 |0003: iput-object v5, v4, Lcom/google/android/apps/authenticator/Base32String;.ALPHABET:Ljava/lang/String; // field@0065 │ │ +00ab0a: 5441 6500 |0005: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.ALPHABET:Ljava/lang/String; // field@0065 │ │ +00ab0e: 6e10 4d03 0100 |0007: invoke-virtual {v1}, Ljava/lang/String;.toCharArray:()[C // method@034d │ │ +00ab14: 0c01 |000a: move-result-object v1 │ │ +00ab16: 5b41 6700 |000b: iput-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ +00ab1a: 5441 6700 |000d: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ +00ab1e: 2111 |000f: array-length v1, v1 │ │ +00ab20: d801 01ff |0010: add-int/lit8 v1, v1, #int -1 // #ff │ │ +00ab24: 5941 6900 |0012: iput v1, v4, Lcom/google/android/apps/authenticator/Base32String;.MASK:I // field@0069 │ │ +00ab28: 5441 6700 |0014: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ +00ab2c: 2111 |0016: array-length v1, v1 │ │ +00ab2e: 7110 2d03 0100 |0017: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@032d │ │ +00ab34: 0a01 |001a: move-result v1 │ │ +00ab36: 5941 6b00 |001b: iput v1, v4, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00ab3a: 2201 1001 |001d: new-instance v1, Ljava/util/HashMap; // type@0110 │ │ +00ab3e: 7010 6f03 0100 |001f: invoke-direct {v1}, Ljava/util/HashMap;.:()V // method@036f │ │ +00ab44: 5b41 6600 |0022: iput-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.CHAR_MAP:Ljava/util/HashMap; // field@0066 │ │ +00ab48: 1200 |0024: const/4 v0, #int 0 // #0 │ │ +00ab4a: 5441 6700 |0025: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ +00ab4e: 2111 |0027: array-length v1, v1 │ │ +00ab50: 3510 1600 |0028: if-ge v0, v1, 003e // +0016 │ │ +00ab54: 5441 6600 |002a: iget-object v1, v4, Lcom/google/android/apps/authenticator/Base32String;.CHAR_MAP:Ljava/util/HashMap; // field@0066 │ │ +00ab58: 5442 6700 |002c: iget-object v2, v4, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ +00ab5c: 4902 0200 |002e: aget-char v2, v2, v0 │ │ +00ab60: 7110 1503 0200 |0030: invoke-static {v2}, Ljava/lang/Character;.valueOf:(C)Ljava/lang/Character; // method@0315 │ │ +00ab66: 0c02 |0033: move-result-object v2 │ │ +00ab68: 7110 3203 0000 |0034: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00ab6e: 0c03 |0037: move-result-object v3 │ │ +00ab70: 6e30 7203 2103 |0038: invoke-virtual {v1, v2, v3}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0372 │ │ +00ab76: d800 0001 |003b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +00ab7a: 28e8 |003d: goto 0025 // -0018 │ │ +00ab7c: 0e00 |003e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=54 │ │ 0x0003 line=55 │ │ 0x0005 line=56 │ │ 0x000d line=57 │ │ 0x0014 line=58 │ │ @@ -7959,20 +4011,20 @@ │ │ type : '(Ljava/lang/String;)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -00a32c: |[00a32c] com.google.android.apps.authenticator.Base32String.decode:(Ljava/lang/String;)[B │ │ -00a33c: 7100 9101 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/Base32String;.getInstance:()Lcom/google/android/apps/authenticator/Base32String; // method@0191 │ │ -00a342: 0c00 |0003: move-result-object v0 │ │ -00a344: 6e20 8e01 1000 |0004: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/Base32String;.decodeInternal:(Ljava/lang/String;)[B // method@018e │ │ -00a34a: 0c00 |0007: move-result-object v0 │ │ -00a34c: 1100 |0008: return-object v0 │ │ +00ab80: |[00ab80] com.google.android.apps.authenticator.Base32String.decode:(Ljava/lang/String;)[B │ │ +00ab90: 7100 9101 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/Base32String;.getInstance:()Lcom/google/android/apps/authenticator/Base32String; // method@0191 │ │ +00ab96: 0c00 |0003: move-result-object v0 │ │ +00ab98: 6e20 8e01 1000 |0004: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/Base32String;.decodeInternal:(Ljava/lang/String;)[B // method@018e │ │ +00ab9e: 0c00 |0007: move-result-object v0 │ │ +00aba0: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 encoded Ljava/lang/String; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/Base32String;) │ │ @@ -7980,20 +4032,20 @@ │ │ type : '([B)Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -00a350: |[00a350] com.google.android.apps.authenticator.Base32String.encode:([B)Ljava/lang/String; │ │ -00a360: 7100 9101 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/Base32String;.getInstance:()Lcom/google/android/apps/authenticator/Base32String; // method@0191 │ │ -00a366: 0c00 |0003: move-result-object v0 │ │ -00a368: 6e20 9001 1000 |0004: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/Base32String;.encodeInternal:([B)Ljava/lang/String; // method@0190 │ │ -00a36e: 0c00 |0007: move-result-object v0 │ │ -00a370: 1100 |0008: return-object v0 │ │ +00aba4: |[00aba4] com.google.android.apps.authenticator.Base32String.encode:([B)Ljava/lang/String; │ │ +00abb4: 7100 9101 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/Base32String;.getInstance:()Lcom/google/android/apps/authenticator/Base32String; // method@0191 │ │ +00abba: 0c00 |0003: move-result-object v0 │ │ +00abbc: 6e20 9001 1000 |0004: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/Base32String;.encodeInternal:([B)Ljava/lang/String; // method@0190 │ │ +00abc2: 0c00 |0007: move-result-object v0 │ │ +00abc4: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=110 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 data [B │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/Base32String;) │ │ @@ -8001,17 +4053,17 @@ │ │ type : '()Lcom/google/android/apps/authenticator/Base32String;' │ │ access : 0x0008 (STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -00a374: |[00a374] com.google.android.apps.authenticator.Base32String.getInstance:()Lcom/google/android/apps/authenticator/Base32String; │ │ -00a384: 6200 6800 |0000: sget-object v0, Lcom/google/android/apps/authenticator/Base32String;.INSTANCE:Lcom/google/android/apps/authenticator/Base32String; // field@0068 │ │ -00a388: 1100 |0002: return-object v0 │ │ +00abc8: |[00abc8] com.google.android.apps.authenticator.Base32String.getInstance:()Lcom/google/android/apps/authenticator/Base32String; │ │ +00abd8: 6200 6800 |0000: sget-object v0, Lcom/google/android/apps/authenticator/Base32String;.INSTANCE:Lcom/google/android/apps/authenticator/Base32String; // field@0068 │ │ +00abdc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/Base32String;) │ │ @@ -8019,126 +4071,127 @@ │ │ type : '()Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00a38c: |[00a38c] com.google.android.apps.authenticator.Base32String.clone:()Ljava/lang/Object; │ │ -00a39c: 2200 e400 |0000: new-instance v0, Ljava/lang/CloneNotSupportedException; // type@00e4 │ │ -00a3a0: 7010 1e03 0000 |0002: invoke-direct {v0}, Ljava/lang/CloneNotSupportedException;.:()V // method@031e │ │ -00a3a6: 2700 |0005: throw v0 │ │ +00abe0: |[00abe0] com.google.android.apps.authenticator.Base32String.clone:()Ljava/lang/Object; │ │ +00abf0: 2200 e400 |0000: new-instance v0, Ljava/lang/CloneNotSupportedException; // type@00e4 │ │ +00abf4: 7010 1e03 0000 |0002: invoke-direct {v0}, Ljava/lang/CloneNotSupportedException;.:()V // method@031e │ │ +00abfa: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=153 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/Base32String; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/Base32String;) │ │ name : 'decodeInternal' │ │ type : '(Ljava/lang/String;)[B' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ - registers : 16 │ │ + registers : 15 │ │ ins : 2 │ │ outs : 3 │ │ - insns size : 153 16-bit code units │ │ -00a3a8: |[00a3a8] com.google.android.apps.authenticator.Base32String.decodeInternal:(Ljava/lang/String;)[B │ │ -00a3b8: 6e10 5103 0f00 |0000: invoke-virtual {v15}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@0351 │ │ -00a3be: 0c0b |0003: move-result-object v11 │ │ -00a3c0: 1a0c 1900 |0004: const-string v12, "-" // string@0019 │ │ -00a3c4: 1a0d 0000 |0006: const-string v13, "" // string@0000 │ │ -00a3c8: 6e30 4903 cb0d |0008: invoke-virtual {v11, v12, v13}, Ljava/lang/String;.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0349 │ │ -00a3ce: 0c0b |000b: move-result-object v11 │ │ -00a3d0: 1a0c 0200 |000c: const-string v12, " " // string@0002 │ │ -00a3d4: 1a0d 0000 |000e: const-string v13, "" // string@0000 │ │ -00a3d8: 6e30 4903 cb0d |0010: invoke-virtual {v11, v12, v13}, Ljava/lang/String;.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0349 │ │ -00a3de: 0c0f |0013: move-result-object v15 │ │ -00a3e0: 1a0b cb02 |0014: const-string v11, "[=]*$" // string@02cb │ │ -00a3e4: 1a0c 0000 |0016: const-string v12, "" // string@0000 │ │ -00a3e8: 6e30 4a03 bf0c |0018: invoke-virtual {v15, v11, v12}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@034a │ │ -00a3ee: 0c0f |001b: move-result-object v15 │ │ -00a3f0: 620b cc01 |001c: sget-object v11, Ljava/util/Locale;.US:Ljava/util/Locale; // field@01cc │ │ -00a3f4: 6e20 5003 bf00 |001e: invoke-virtual {v15, v11}, Ljava/lang/String;.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String; // method@0350 │ │ -00a3fa: 0c0f |0021: move-result-object v15 │ │ -00a3fc: 6e10 4703 0f00 |0022: invoke-virtual {v15}, Ljava/lang/String;.length:()I // method@0347 │ │ -00a402: 0a0b |0025: move-result v11 │ │ -00a404: 390b 0600 |0026: if-nez v11, 002c // +0006 │ │ -00a408: 120b |0028: const/4 v11, #int 0 // #0 │ │ -00a40a: 23ba 2c01 |0029: new-array v10, v11, [B // type@012c │ │ -00a40e: 110a |002b: return-object v10 │ │ -00a410: 6e10 4703 0f00 |002c: invoke-virtual {v15}, Ljava/lang/String;.length:()I // method@0347 │ │ -00a416: 0a04 |002f: move-result v4 │ │ -00a418: 52eb 6b00 |0030: iget v11, v14, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a41c: b24b |0032: mul-int/2addr v11, v4 │ │ -00a41e: db09 0b08 |0033: div-int/lit8 v9, v11, #int 8 // #08 │ │ -00a422: 239a 2c01 |0035: new-array v10, v9, [B // type@012c │ │ -00a426: 1202 |0037: const/4 v2, #int 0 // #0 │ │ -00a428: 1207 |0038: const/4 v7, #int 0 // #0 │ │ -00a42a: 1201 |0039: const/4 v1, #int 0 // #0 │ │ -00a42c: 6e10 4d03 0f00 |003a: invoke-virtual {v15}, Ljava/lang/String;.toCharArray:()[C // method@034d │ │ -00a432: 0c00 |003d: move-result-object v0 │ │ -00a434: 2106 |003e: array-length v6, v0 │ │ -00a436: 1205 |003f: const/4 v5, #int 0 // #0 │ │ -00a438: 0178 |0040: move v8, v7 │ │ -00a43a: 3565 eaff |0041: if-ge v5, v6, 002b // -0016 │ │ -00a43e: 4903 0005 |0043: aget-char v3, v0, v5 │ │ -00a442: 54eb 6600 |0045: iget-object v11, v14, Lcom/google/android/apps/authenticator/Base32String;.CHAR_MAP:Ljava/util/HashMap; // field@0066 │ │ -00a446: 7110 1503 0300 |0047: invoke-static {v3}, Ljava/lang/Character;.valueOf:(C)Ljava/lang/Character; // method@0315 │ │ -00a44c: 0c0c |004a: move-result-object v12 │ │ -00a44e: 6e20 7003 cb00 |004b: invoke-virtual {v11, v12}, Ljava/util/HashMap;.containsKey:(Ljava/lang/Object;)Z // method@0370 │ │ -00a454: 0a0b |004e: move-result v11 │ │ -00a456: 390b 1b00 |004f: if-nez v11, 006a // +001b │ │ -00a45a: 220b 7b00 |0051: new-instance v11, Lcom/google/android/apps/authenticator/Base32String$DecodingException; // type@007b │ │ -00a45e: 220c f900 |0053: new-instance v12, Ljava/lang/StringBuilder; // type@00f9 │ │ -00a462: 7010 5303 0c00 |0055: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00a468: 1a0d b100 |0058: const-string v13, "Illegal character: " // string@00b1 │ │ -00a46c: 6e20 5a03 dc00 |005a: invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00a472: 0c0c |005d: move-result-object v12 │ │ -00a474: 6e20 5503 3c00 |005e: invoke-virtual {v12, v3}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ -00a47a: 0c0c |0061: move-result-object v12 │ │ -00a47c: 6e10 5b03 0c00 |0062: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00a482: 0c0c |0065: move-result-object v12 │ │ -00a484: 7020 8801 cb00 |0066: invoke-direct {v11, v12}, Lcom/google/android/apps/authenticator/Base32String$DecodingException;.:(Ljava/lang/String;)V // method@0188 │ │ -00a48a: 270b |0069: throw v11 │ │ -00a48c: 52eb 6b00 |006a: iget v11, v14, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a490: b8b2 |006c: shl-int/2addr v2, v11 │ │ -00a492: 54eb 6600 |006d: iget-object v11, v14, Lcom/google/android/apps/authenticator/Base32String;.CHAR_MAP:Ljava/util/HashMap; // field@0066 │ │ -00a496: 7110 1503 0300 |006f: invoke-static {v3}, Ljava/lang/Character;.valueOf:(C)Ljava/lang/Character; // method@0315 │ │ -00a49c: 0c0c |0072: move-result-object v12 │ │ -00a49e: 6e20 7103 cb00 |0073: invoke-virtual {v11, v12}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0371 │ │ -00a4a4: 0c0b |0076: move-result-object v11 │ │ -00a4a6: 1f0b eb00 |0077: check-cast v11, Ljava/lang/Integer; // type@00eb │ │ -00a4aa: 6e10 2b03 0b00 |0079: invoke-virtual {v11}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ -00a4b0: 0a0b |007c: move-result v11 │ │ -00a4b2: 52ec 6900 |007d: iget v12, v14, Lcom/google/android/apps/authenticator/Base32String;.MASK:I // field@0069 │ │ -00a4b6: b5cb |007f: and-int/2addr v11, v12 │ │ -00a4b8: b6b2 |0080: or-int/2addr v2, v11 │ │ -00a4ba: 52eb 6b00 |0081: iget v11, v14, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a4be: b0b1 |0083: add-int/2addr v1, v11 │ │ -00a4c0: 130b 0800 |0084: const/16 v11, #int 8 // #8 │ │ -00a4c4: 34b1 1100 |0086: if-lt v1, v11, 0097 // +0011 │ │ -00a4c8: d807 0801 |0088: add-int/lit8 v7, v8, #int 1 // #01 │ │ -00a4cc: d80b 01f8 |008a: add-int/lit8 v11, v1, #int -8 // #f8 │ │ -00a4d0: 990b 020b |008c: shr-int v11, v2, v11 │ │ -00a4d4: 8dbb |008e: int-to-byte v11, v11 │ │ -00a4d6: 4f0b 0a08 |008f: aput-byte v11, v10, v8 │ │ -00a4da: d801 01f8 |0091: add-int/lit8 v1, v1, #int -8 // #f8 │ │ -00a4de: d805 0501 |0093: add-int/lit8 v5, v5, #int 1 // #01 │ │ -00a4e2: 0178 |0095: move v8, v7 │ │ -00a4e4: 28ab |0096: goto 0041 // -0055 │ │ -00a4e6: 0187 |0097: move v7, v8 │ │ -00a4e8: 28fb |0098: goto 0093 // -0005 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=71 │ │ - 0x0014 line=76 │ │ - 0x001c line=79 │ │ - 0x0022 line=80 │ │ - 0x0028 line=81 │ │ + insns size : 154 16-bit code units │ │ +00abfc: |[00abfc] com.google.android.apps.authenticator.Base32String.decodeInternal:(Ljava/lang/String;)[B │ │ +00ac0c: 1208 |0000: const/4 v8, #int 0 // #0 │ │ +00ac0e: 6e10 5103 0e00 |0001: invoke-virtual {v14}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@0351 │ │ +00ac14: 0c09 |0004: move-result-object v9 │ │ +00ac16: 1a0a 1900 |0005: const-string v10, "-" // string@0019 │ │ +00ac1a: 1a0b 0000 |0007: const-string v11, "" // string@0000 │ │ +00ac1e: 6e30 4903 a90b |0009: invoke-virtual {v9, v10, v11}, Ljava/lang/String;.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0349 │ │ +00ac24: 0c09 |000c: move-result-object v9 │ │ +00ac26: 1a0a 0200 |000d: const-string v10, " " // string@0002 │ │ +00ac2a: 1a0b 0000 |000f: const-string v11, "" // string@0000 │ │ +00ac2e: 6e30 4903 a90b |0011: invoke-virtual {v9, v10, v11}, Ljava/lang/String;.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0349 │ │ +00ac34: 0c0e |0014: move-result-object v14 │ │ +00ac36: 1a09 c802 |0015: const-string v9, "[=]*$" // string@02c8 │ │ +00ac3a: 1a0a 0000 |0017: const-string v10, "" // string@0000 │ │ +00ac3e: 6e30 4a03 9e0a |0019: invoke-virtual {v14, v9, v10}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@034a │ │ +00ac44: 0c0e |001c: move-result-object v14 │ │ +00ac46: 6209 cc01 |001d: sget-object v9, Ljava/util/Locale;.US:Ljava/util/Locale; // field@01cc │ │ +00ac4a: 6e20 5003 9e00 |001f: invoke-virtual {v14, v9}, Ljava/lang/String;.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String; // method@0350 │ │ +00ac50: 0c0e |0022: move-result-object v14 │ │ +00ac52: 6e10 4703 0e00 |0023: invoke-virtual {v14}, Ljava/lang/String;.length:()I // method@0347 │ │ +00ac58: 0a09 |0026: move-result v9 │ │ +00ac5a: 3909 0500 |0027: if-nez v9, 002c // +0005 │ │ +00ac5e: 2387 2c01 |0029: new-array v7, v8, [B // type@012c │ │ +00ac62: 1107 |002b: return-object v7 │ │ +00ac64: 6e10 4703 0e00 |002c: invoke-virtual {v14}, Ljava/lang/String;.length:()I // method@0347 │ │ +00ac6a: 0a03 |002f: move-result v3 │ │ +00ac6c: 52d9 6b00 |0030: iget v9, v13, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00ac70: b239 |0032: mul-int/2addr v9, v3 │ │ +00ac72: db06 0908 |0033: div-int/lit8 v6, v9, #int 8 // #08 │ │ +00ac76: 2367 2c01 |0035: new-array v7, v6, [B // type@012c │ │ +00ac7a: 1201 |0037: const/4 v1, #int 0 // #0 │ │ +00ac7c: 1204 |0038: const/4 v4, #int 0 // #0 │ │ +00ac7e: 1200 |0039: const/4 v0, #int 0 // #0 │ │ +00ac80: 6e10 4d03 0e00 |003a: invoke-virtual {v14}, Ljava/lang/String;.toCharArray:()[C // method@034d │ │ +00ac86: 0c0a |003d: move-result-object v10 │ │ +00ac88: 21ab |003e: array-length v11, v10 │ │ +00ac8a: 0189 |003f: move v9, v8 │ │ +00ac8c: 0145 |0040: move v5, v4 │ │ +00ac8e: 35b9 eaff |0041: if-ge v9, v11, 002b // -0016 │ │ +00ac92: 4902 0a09 |0043: aget-char v2, v10, v9 │ │ +00ac96: 54d8 6600 |0045: iget-object v8, v13, Lcom/google/android/apps/authenticator/Base32String;.CHAR_MAP:Ljava/util/HashMap; // field@0066 │ │ +00ac9a: 7110 1503 0200 |0047: invoke-static {v2}, Ljava/lang/Character;.valueOf:(C)Ljava/lang/Character; // method@0315 │ │ +00aca0: 0c0c |004a: move-result-object v12 │ │ +00aca2: 6e20 7003 c800 |004b: invoke-virtual {v8, v12}, Ljava/util/HashMap;.containsKey:(Ljava/lang/Object;)Z // method@0370 │ │ +00aca8: 0a08 |004e: move-result v8 │ │ +00acaa: 3908 1b00 |004f: if-nez v8, 006a // +001b │ │ +00acae: 2208 7b00 |0051: new-instance v8, Lcom/google/android/apps/authenticator/Base32String$DecodingException; // type@007b │ │ +00acb2: 2209 f900 |0053: new-instance v9, Ljava/lang/StringBuilder; // type@00f9 │ │ +00acb6: 7010 5303 0900 |0055: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00acbc: 1a0a b100 |0058: const-string v10, "Illegal character: " // string@00b1 │ │ +00acc0: 6e20 5a03 a900 |005a: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00acc6: 0c09 |005d: move-result-object v9 │ │ +00acc8: 6e20 5503 2900 |005e: invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ +00acce: 0c09 |0061: move-result-object v9 │ │ +00acd0: 6e10 5b03 0900 |0062: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00acd6: 0c09 |0065: move-result-object v9 │ │ +00acd8: 7020 8801 9800 |0066: invoke-direct {v8, v9}, Lcom/google/android/apps/authenticator/Base32String$DecodingException;.:(Ljava/lang/String;)V // method@0188 │ │ +00acde: 2708 |0069: throw v8 │ │ +00ace0: 52d8 6b00 |006a: iget v8, v13, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00ace4: b881 |006c: shl-int/2addr v1, v8 │ │ +00ace6: 54d8 6600 |006d: iget-object v8, v13, Lcom/google/android/apps/authenticator/Base32String;.CHAR_MAP:Ljava/util/HashMap; // field@0066 │ │ +00acea: 7110 1503 0200 |006f: invoke-static {v2}, Ljava/lang/Character;.valueOf:(C)Ljava/lang/Character; // method@0315 │ │ +00acf0: 0c0c |0072: move-result-object v12 │ │ +00acf2: 6e20 7103 c800 |0073: invoke-virtual {v8, v12}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0371 │ │ +00acf8: 0c08 |0076: move-result-object v8 │ │ +00acfa: 1f08 eb00 |0077: check-cast v8, Ljava/lang/Integer; // type@00eb │ │ +00acfe: 6e10 2b03 0800 |0079: invoke-virtual {v8}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ +00ad04: 0a08 |007c: move-result v8 │ │ +00ad06: 52dc 6900 |007d: iget v12, v13, Lcom/google/android/apps/authenticator/Base32String;.MASK:I // field@0069 │ │ +00ad0a: b5c8 |007f: and-int/2addr v8, v12 │ │ +00ad0c: b681 |0080: or-int/2addr v1, v8 │ │ +00ad0e: 52d8 6b00 |0081: iget v8, v13, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00ad12: b080 |0083: add-int/2addr v0, v8 │ │ +00ad14: 1308 0800 |0084: const/16 v8, #int 8 // #8 │ │ +00ad18: 3480 1200 |0086: if-lt v0, v8, 0098 // +0012 │ │ +00ad1c: d804 0501 |0088: add-int/lit8 v4, v5, #int 1 // #01 │ │ +00ad20: d808 00f8 |008a: add-int/lit8 v8, v0, #int -8 // #f8 │ │ +00ad24: 9908 0108 |008c: shr-int v8, v1, v8 │ │ +00ad28: 8d88 |008e: int-to-byte v8, v8 │ │ +00ad2a: 4f08 0705 |008f: aput-byte v8, v7, v5 │ │ +00ad2e: d800 00f8 |0091: add-int/lit8 v0, v0, #int -8 // #f8 │ │ +00ad32: d808 0901 |0093: add-int/lit8 v8, v9, #int 1 // #01 │ │ +00ad36: 0189 |0095: move v9, v8 │ │ +00ad38: 0145 |0096: move v5, v4 │ │ +00ad3a: 28aa |0097: goto 0041 // -0056 │ │ +00ad3c: 0154 |0098: move v4, v5 │ │ +00ad3e: 28fa |0099: goto 0093 // -0006 │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=71 │ │ + 0x0015 line=76 │ │ + 0x001d line=79 │ │ + 0x0023 line=80 │ │ + 0x0029 line=81 │ │ 0x002b line=106 │ │ 0x002c line=83 │ │ 0x0030 line=84 │ │ 0x0035 line=85 │ │ 0x0037 line=86 │ │ 0x0038 line=87 │ │ 0x0039 line=88 │ │ @@ -8149,101 +4202,98 @@ │ │ 0x006d line=94 │ │ 0x0081 line=95 │ │ 0x0084 line=96 │ │ 0x0088 line=97 │ │ 0x0091 line=98 │ │ 0x0093 line=89 │ │ locals : │ │ - 0x0039 - 0x0041 reg=7 next I │ │ - 0x0041 - 0x008a reg=8 next I │ │ - 0x008a - 0x0096 reg=7 next I │ │ - 0x0096 - 0x0098 reg=8 next I │ │ - 0x003e - 0x0099 reg=0 arr$ [C │ │ - 0x003a - 0x0099 reg=1 bitsLeft I │ │ - 0x0038 - 0x0099 reg=2 buffer I │ │ - 0x0045 - 0x0099 reg=3 c C │ │ - 0x0030 - 0x0099 reg=4 encodedLength I │ │ - 0x0040 - 0x0099 reg=5 i$ I │ │ - 0x003f - 0x0099 reg=6 len$ I │ │ - 0x0098 - 0x0099 reg=7 next I │ │ - 0x0035 - 0x0099 reg=9 outLength I │ │ - 0x0037 - 0x0099 reg=10 result [B │ │ - 0x0000 - 0x0099 reg=14 this Lcom/google/android/apps/authenticator/Base32String; │ │ - 0x0000 - 0x0099 reg=15 encoded Ljava/lang/String; │ │ + 0x0039 - 0x0041 reg=4 next I │ │ + 0x0041 - 0x008a reg=5 next I │ │ + 0x008a - 0x0097 reg=4 next I │ │ + 0x0097 - 0x0099 reg=5 next I │ │ + 0x003a - 0x009a reg=0 bitsLeft I │ │ + 0x0038 - 0x009a reg=1 buffer I │ │ + 0x0045 - 0x009a reg=2 c C │ │ + 0x0030 - 0x009a reg=3 encodedLength I │ │ + 0x0099 - 0x009a reg=4 next I │ │ + 0x0035 - 0x009a reg=6 outLength I │ │ + 0x0037 - 0x009a reg=7 result [B │ │ + 0x0000 - 0x009a reg=13 this Lcom/google/android/apps/authenticator/Base32String; │ │ + 0x0000 - 0x009a reg=14 encoded Ljava/lang/String; │ │ │ │ #2 : (in Lcom/google/android/apps/authenticator/Base32String;) │ │ name : 'encodeInternal' │ │ type : '([B)Ljava/lang/String;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 12 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 101 16-bit code units │ │ -00a4ec: |[00a4ec] com.google.android.apps.authenticator.Base32String.encodeInternal:([B)Ljava/lang/String; │ │ -00a4fc: 21b8 |0000: array-length v8, v11 │ │ -00a4fe: 3908 0500 |0001: if-nez v8, 0006 // +0005 │ │ -00a502: 1a08 0000 |0003: const-string v8, "" // string@0000 │ │ -00a506: 1108 |0005: return-object v8 │ │ -00a508: 21b8 |0006: array-length v8, v11 │ │ -00a50a: 1509 0010 |0007: const/high16 v9, #int 268435456 // #1000 │ │ -00a50e: 3498 0800 |0009: if-lt v8, v9, 0011 // +0008 │ │ -00a512: 2208 e900 |000b: new-instance v8, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ -00a516: 7010 2503 0800 |000d: invoke-direct {v8}, Ljava/lang/IllegalArgumentException;.:()V // method@0325 │ │ -00a51c: 2708 |0010: throw v8 │ │ -00a51e: 21b8 |0011: array-length v8, v11 │ │ -00a520: da08 0808 |0012: mul-int/lit8 v8, v8, #int 8 // #08 │ │ -00a524: 52a9 6b00 |0014: iget v9, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a528: b098 |0016: add-int/2addr v8, v9 │ │ -00a52a: d808 08ff |0017: add-int/lit8 v8, v8, #int -1 // #ff │ │ -00a52e: 52a9 6b00 |0019: iget v9, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a532: 9305 0809 |001b: div-int v5, v8, v9 │ │ -00a536: 2207 f900 |001d: new-instance v7, Ljava/lang/StringBuilder; // type@00f9 │ │ -00a53a: 7020 5403 5700 |001f: invoke-direct {v7, v5}, Ljava/lang/StringBuilder;.:(I)V // method@0354 │ │ -00a540: 1208 |0022: const/4 v8, #int 0 // #0 │ │ -00a542: 4801 0b08 |0023: aget-byte v1, v11, v8 │ │ -00a546: 1213 |0025: const/4 v3, #int 1 // #1 │ │ -00a548: 1300 0800 |0026: const/16 v0, #int 8 // #8 │ │ -00a54c: 0134 |0028: move v4, v3 │ │ -00a54e: 3c00 0500 |0029: if-gtz v0, 002e // +0005 │ │ -00a552: 21b8 |002b: array-length v8, v11 │ │ -00a554: 3584 3200 |002c: if-ge v4, v8, 005e // +0032 │ │ -00a558: 52a8 6b00 |002e: iget v8, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a55c: 3580 3300 |0030: if-ge v0, v8, 0063 // +0033 │ │ -00a560: 21b8 |0032: array-length v8, v11 │ │ -00a562: 3584 2300 |0033: if-ge v4, v8, 0056 // +0023 │ │ -00a566: e001 0108 |0035: shl-int/lit8 v1, v1, #int 8 // #08 │ │ -00a56a: d803 0401 |0037: add-int/lit8 v3, v4, #int 1 // #01 │ │ -00a56e: 4808 0b04 |0039: aget-byte v8, v11, v4 │ │ -00a572: d588 ff00 |003b: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -00a576: b681 |003d: or-int/2addr v1, v8 │ │ -00a578: d800 0008 |003e: add-int/lit8 v0, v0, #int 8 // #08 │ │ -00a57c: 52a8 6900 |0040: iget v8, v10, Lcom/google/android/apps/authenticator/Base32String;.MASK:I // field@0069 │ │ -00a580: 52a9 6b00 |0042: iget v9, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a584: 9109 0009 |0044: sub-int v9, v0, v9 │ │ -00a588: 9909 0109 |0046: shr-int v9, v1, v9 │ │ -00a58c: 9502 0809 |0048: and-int v2, v8, v9 │ │ -00a590: 52a8 6b00 |004a: iget v8, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a594: b180 |004c: sub-int/2addr v0, v8 │ │ -00a596: 54a8 6700 |004d: iget-object v8, v10, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ -00a59a: 4908 0802 |004f: aget-char v8, v8, v2 │ │ -00a59e: 6e20 5503 8700 |0051: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ -00a5a4: 0134 |0054: move v4, v3 │ │ -00a5a6: 28d4 |0055: goto 0029 // -002c │ │ -00a5a8: 52a8 6b00 |0056: iget v8, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ -00a5ac: 9106 0800 |0058: sub-int v6, v8, v0 │ │ -00a5b0: b861 |005a: shl-int/2addr v1, v6 │ │ -00a5b2: b060 |005b: add-int/2addr v0, v6 │ │ -00a5b4: 0143 |005c: move v3, v4 │ │ -00a5b6: 28e3 |005d: goto 0040 // -001d │ │ -00a5b8: 6e10 5b03 0700 |005e: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00a5be: 0c08 |0061: move-result-object v8 │ │ -00a5c0: 28a3 |0062: goto 0005 // -005d │ │ -00a5c2: 0143 |0063: move v3, v4 │ │ -00a5c4: 28dc |0064: goto 0040 // -0024 │ │ +00ad40: |[00ad40] com.google.android.apps.authenticator.Base32String.encodeInternal:([B)Ljava/lang/String; │ │ +00ad50: 21b8 |0000: array-length v8, v11 │ │ +00ad52: 3908 0500 |0001: if-nez v8, 0006 // +0005 │ │ +00ad56: 1a08 0000 |0003: const-string v8, "" // string@0000 │ │ +00ad5a: 1108 |0005: return-object v8 │ │ +00ad5c: 21b8 |0006: array-length v8, v11 │ │ +00ad5e: 1509 0010 |0007: const/high16 v9, #int 268435456 // #1000 │ │ +00ad62: 3498 0800 |0009: if-lt v8, v9, 0011 // +0008 │ │ +00ad66: 2208 e900 |000b: new-instance v8, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ +00ad6a: 7010 2503 0800 |000d: invoke-direct {v8}, Ljava/lang/IllegalArgumentException;.:()V // method@0325 │ │ +00ad70: 2708 |0010: throw v8 │ │ +00ad72: 21b8 |0011: array-length v8, v11 │ │ +00ad74: da08 0808 |0012: mul-int/lit8 v8, v8, #int 8 // #08 │ │ +00ad78: 52a9 6b00 |0014: iget v9, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00ad7c: b098 |0016: add-int/2addr v8, v9 │ │ +00ad7e: d808 08ff |0017: add-int/lit8 v8, v8, #int -1 // #ff │ │ +00ad82: 52a9 6b00 |0019: iget v9, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00ad86: 9305 0809 |001b: div-int v5, v8, v9 │ │ +00ad8a: 2207 f900 |001d: new-instance v7, Ljava/lang/StringBuilder; // type@00f9 │ │ +00ad8e: 7020 5403 5700 |001f: invoke-direct {v7, v5}, Ljava/lang/StringBuilder;.:(I)V // method@0354 │ │ +00ad94: 1208 |0022: const/4 v8, #int 0 // #0 │ │ +00ad96: 4801 0b08 |0023: aget-byte v1, v11, v8 │ │ +00ad9a: 1213 |0025: const/4 v3, #int 1 // #1 │ │ +00ad9c: 1300 0800 |0026: const/16 v0, #int 8 // #8 │ │ +00ada0: 0134 |0028: move v4, v3 │ │ +00ada2: 3c00 0500 |0029: if-gtz v0, 002e // +0005 │ │ +00ada6: 21b8 |002b: array-length v8, v11 │ │ +00ada8: 3584 3200 |002c: if-ge v4, v8, 005e // +0032 │ │ +00adac: 52a8 6b00 |002e: iget v8, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00adb0: 3580 3300 |0030: if-ge v0, v8, 0063 // +0033 │ │ +00adb4: 21b8 |0032: array-length v8, v11 │ │ +00adb6: 3584 2300 |0033: if-ge v4, v8, 0056 // +0023 │ │ +00adba: e001 0108 |0035: shl-int/lit8 v1, v1, #int 8 // #08 │ │ +00adbe: d803 0401 |0037: add-int/lit8 v3, v4, #int 1 // #01 │ │ +00adc2: 4808 0b04 |0039: aget-byte v8, v11, v4 │ │ +00adc6: d588 ff00 |003b: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +00adca: b681 |003d: or-int/2addr v1, v8 │ │ +00adcc: d800 0008 |003e: add-int/lit8 v0, v0, #int 8 // #08 │ │ +00add0: 52a8 6900 |0040: iget v8, v10, Lcom/google/android/apps/authenticator/Base32String;.MASK:I // field@0069 │ │ +00add4: 52a9 6b00 |0042: iget v9, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00add8: 9109 0009 |0044: sub-int v9, v0, v9 │ │ +00addc: 9909 0109 |0046: shr-int v9, v1, v9 │ │ +00ade0: 9502 0809 |0048: and-int v2, v8, v9 │ │ +00ade4: 52a8 6b00 |004a: iget v8, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00ade8: b180 |004c: sub-int/2addr v0, v8 │ │ +00adea: 54a8 6700 |004d: iget-object v8, v10, Lcom/google/android/apps/authenticator/Base32String;.DIGITS:[C // field@0067 │ │ +00adee: 4908 0802 |004f: aget-char v8, v8, v2 │ │ +00adf2: 6e20 5503 8700 |0051: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ +00adf8: 0134 |0054: move v4, v3 │ │ +00adfa: 28d4 |0055: goto 0029 // -002c │ │ +00adfc: 52a8 6b00 |0056: iget v8, v10, Lcom/google/android/apps/authenticator/Base32String;.SHIFT:I // field@006b │ │ +00ae00: 9106 0800 |0058: sub-int v6, v8, v0 │ │ +00ae04: b861 |005a: shl-int/2addr v1, v6 │ │ +00ae06: b060 |005b: add-int/2addr v0, v6 │ │ +00ae08: 0143 |005c: move v3, v4 │ │ +00ae0a: 28e3 |005d: goto 0040 // -001d │ │ +00ae0c: 6e10 5b03 0700 |005e: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00ae12: 0c08 |0061: move-result-object v8 │ │ +00ae14: 28a3 |0062: goto 0005 // -005d │ │ +00ae16: 0143 |0063: move v3, v4 │ │ +00ae18: 28dc |0064: goto 0040 // -0024 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=114 │ │ 0x0003 line=115 │ │ 0x0005 line=147 │ │ 0x0006 line=120 │ │ 0x000b line=122 │ │ @@ -8281,29 +4331,29 @@ │ │ 0x001d - 0x0065 reg=5 outputLength I │ │ 0x0022 - 0x0065 reg=7 result Ljava/lang/StringBuilder; │ │ 0x0000 - 0x0065 reg=10 this Lcom/google/android/apps/authenticator/Base32String; │ │ 0x0000 - 0x0065 reg=11 data [B │ │ │ │ source_file_idx : 82 (Base32String.java) │ │ │ │ -Class #36 header: │ │ +Class #26 header: │ │ class_idx : 125 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 8 │ │ source_file_idx : 98 │ │ static_fields_size : 0 │ │ instance_fields_size: 3 │ │ direct_methods_size : 2 │ │ virtual_methods_size: 1 │ │ │ │ -Class #36 annotations: │ │ +Class #26 annotations: │ │ Annotations on method #404 'getCheckCode' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/security/GeneralSecurityException; Lcom/google/android/apps/authenticator/Base32String$DecodingException; } │ │ │ │ -Class #36 - │ │ +Class #26 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/CheckCodeActivity;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Landroid/app/Activity;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/CheckCodeActivity;) │ │ @@ -8324,166 +4374,166 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00a5c8: |[00a5c8] com.google.android.apps.authenticator.CheckCodeActivity.:()V │ │ -00a5d8: 7010 0200 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0002 │ │ -00a5de: 0e00 |0003: return-void │ │ +00ae1c: |[00ae1c] com.google.android.apps.authenticator.CheckCodeActivity.:()V │ │ +00ae2c: 7010 0200 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0002 │ │ +00ae32: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/CheckCodeActivity; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/CheckCodeActivity;) │ │ name : 'getCheckCode' │ │ type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0008 (STATIC) │ │ code - │ │ - registers : 6 │ │ + registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 32 16-bit code units │ │ -00a5e0: |[00a5e0] com.google.android.apps.authenticator.CheckCodeActivity.getCheckCode:(Ljava/lang/String;)Ljava/lang/String; │ │ -00a5f0: 7110 8d01 0500 |0000: invoke-static {v5}, Lcom/google/android/apps/authenticator/Base32String;.decode:(Ljava/lang/String;)[B // method@018d │ │ -00a5f6: 0c00 |0003: move-result-object v0 │ │ -00a5f8: 1a03 9800 |0004: const-string v3, "HMACSHA1" // string@0098 │ │ -00a5fc: 7110 7c03 0300 |0006: invoke-static {v3}, Ljavax/crypto/Mac;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac; // method@037c │ │ -00a602: 0c01 |0009: move-result-object v1 │ │ -00a604: 2203 1901 |000a: new-instance v3, Ljavax/crypto/spec/SecretKeySpec; // type@0119 │ │ -00a608: 1a04 0000 |000c: const-string v4, "" // string@0000 │ │ -00a60c: 7030 7e03 0304 |000e: invoke-direct {v3, v0, v4}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@037e │ │ -00a612: 6e20 7d03 3100 |0011: invoke-virtual {v1, v3}, Ljavax/crypto/Mac;.init:(Ljava/security/Key;)V // method@037d │ │ -00a618: 2202 8b00 |0014: new-instance v2, Lcom/google/android/apps/authenticator/PasscodeGenerator; // type@008b │ │ -00a61c: 7020 e501 1200 |0016: invoke-direct {v2, v1}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Ljavax/crypto/Mac;)V // method@01e5 │ │ -00a622: 1603 0000 |0019: const-wide/16 v3, #int 0 // #0 │ │ -00a626: 6e30 e701 3204 |001b: invoke-virtual {v2, v3, v4}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J)Ljava/lang/String; // method@01e7 │ │ -00a62c: 0c03 |001e: move-result-object v3 │ │ -00a62e: 1103 |001f: return-object v3 │ │ +00ae34: |[00ae34] com.google.android.apps.authenticator.CheckCodeActivity.getCheckCode:(Ljava/lang/String;)Ljava/lang/String; │ │ +00ae44: 7110 8d01 0600 |0000: invoke-static {v6}, Lcom/google/android/apps/authenticator/Base32String;.decode:(Ljava/lang/String;)[B // method@018d │ │ +00ae4a: 0c00 |0003: move-result-object v0 │ │ +00ae4c: 1a03 9800 |0004: const-string v3, "HMACSHA1" // string@0098 │ │ +00ae50: 7110 7c03 0300 |0006: invoke-static {v3}, Ljavax/crypto/Mac;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac; // method@037c │ │ +00ae56: 0c01 |0009: move-result-object v1 │ │ +00ae58: 2203 1901 |000a: new-instance v3, Ljavax/crypto/spec/SecretKeySpec; // type@0119 │ │ +00ae5c: 1a04 0000 |000c: const-string v4, "" // string@0000 │ │ +00ae60: 7030 7e03 0304 |000e: invoke-direct {v3, v0, v4}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@037e │ │ +00ae66: 6e20 7d03 3100 |0011: invoke-virtual {v1, v3}, Ljavax/crypto/Mac;.init:(Ljava/security/Key;)V // method@037d │ │ +00ae6c: 2202 8b00 |0014: new-instance v2, Lcom/google/android/apps/authenticator/PasscodeGenerator; // type@008b │ │ +00ae70: 7020 e501 1200 |0016: invoke-direct {v2, v1}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Ljavax/crypto/Mac;)V // method@01e5 │ │ +00ae76: 1604 0000 |0019: const-wide/16 v4, #int 0 // #0 │ │ +00ae7a: 6e30 e701 4205 |001b: invoke-virtual {v2, v4, v5}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J)Ljava/lang/String; // method@01e7 │ │ +00ae80: 0c03 |001e: move-result-object v3 │ │ +00ae82: 1103 |001f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ 0x0004 line=95 │ │ 0x000a line=96 │ │ 0x0014 line=97 │ │ 0x0019 line=98 │ │ locals : │ │ 0x0004 - 0x0020 reg=0 keyBytes [B │ │ 0x000a - 0x0020 reg=1 mac Ljavax/crypto/Mac; │ │ 0x0019 - 0x0020 reg=2 pcg Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ - 0x0000 - 0x0020 reg=5 secret Ljava/lang/String; │ │ + 0x0000 - 0x0020 reg=6 secret Ljava/lang/String; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/CheckCodeActivity;) │ │ name : 'onCreate' │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 17 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 194 16-bit code units │ │ -00a630: |[00a630] com.google.android.apps.authenticator.CheckCodeActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00a640: 7502 0300 0f00 |0000: invoke-super/range {v15, v16}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0003 │ │ -00a646: 140b 0100 037f |0003: const v11, #float 1.74129e+38 // #7f030001 │ │ -00a64c: 6e20 9801 bf00 |0006: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.setContentView:(I)V // method@0198 │ │ -00a652: 140b 0400 0a7f |0009: const v11, #float 1.83434e+38 // #7f0a0004 │ │ -00a658: 6e20 9301 bf00 |000c: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ -00a65e: 0c0b |000f: move-result-object v11 │ │ -00a660: 1f0b 5e00 |0010: check-cast v11, Landroid/widget/TextView; // type@005e │ │ -00a664: 5bfb 6d00 |0012: iput-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCodeTextView:Landroid/widget/TextView; // field@006d │ │ -00a668: 140b 0200 0a7f |0014: const v11, #float 1.83434e+38 // #7f0a0002 │ │ -00a66e: 6e20 9301 bf00 |0017: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ -00a674: 0c0b |001a: move-result-object v11 │ │ -00a676: 1f0b 5e00 |001b: check-cast v11, Landroid/widget/TextView; // type@005e │ │ -00a67a: 5bfb 6c00 |001d: iput-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCheckCodeTextView:Landroid/widget/TextView; // field@006c │ │ -00a67e: 140b 0600 0a7f |001f: const v11, #float 1.83434e+38 // #7f0a0006 │ │ -00a684: 6e20 9301 bf00 |0022: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ -00a68a: 0c0b |0025: move-result-object v11 │ │ -00a68c: 1f0b 5e00 |0026: check-cast v11, Landroid/widget/TextView; // type@005e │ │ -00a690: 5bfb 6e00 |0028: iput-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCounterValue:Landroid/widget/TextView; // field@006e │ │ -00a694: 6e10 9501 0f00 |002a: invoke-virtual {v15}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getIntent:()Landroid/content/Intent; // method@0195 │ │ -00a69a: 0c06 |002d: move-result-object v6 │ │ -00a69c: 6e10 3500 0600 |002e: invoke-virtual {v6}, Landroid/content/Intent;.getExtras:()Landroid/os/Bundle; // method@0035 │ │ -00a6a2: 0c05 |0031: move-result-object v5 │ │ -00a6a4: 1a0b c206 |0032: const-string v11, "user" // string@06c2 │ │ -00a6a8: 6e20 7500 b500 |0034: invoke-virtual {v5, v11}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0075 │ │ -00a6ae: 0c0a |0037: move-result-object v10 │ │ -00a6b0: 7100 6402 0000 |0038: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ -00a6b6: 0c00 |003b: move-result-object v0 │ │ -00a6b8: 6e20 ea00 a000 |003c: invoke-virtual {v0, v10}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ -00a6be: 0c09 |003f: move-result-object v9 │ │ -00a6c0: 620b 0900 |0040: sget-object v11, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -00a6c4: 33b9 2c00 |0042: if-ne v9, v11, 006e // +002c │ │ -00a6c8: 54fb 6e00 |0044: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCounterValue:Landroid/widget/TextView; // field@006e │ │ -00a6cc: 6e20 e500 a000 |0046: invoke-virtual {v0, v10}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ -00a6d2: 0c0c |0049: move-result-object v12 │ │ -00a6d4: 6e10 3003 0c00 |004a: invoke-virtual {v12}, Ljava/lang/Integer;.toString:()Ljava/lang/String; // method@0330 │ │ -00a6da: 0c0c |004d: move-result-object v12 │ │ -00a6dc: 6e20 cd00 cb00 |004e: invoke-virtual {v11, v12}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ -00a6e2: 140b 0500 0a7f |0051: const v11, #float 1.83434e+38 // #7f0a0005 │ │ -00a6e8: 6e20 9301 bf00 |0054: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ -00a6ee: 0c0b |0057: move-result-object v11 │ │ -00a6f0: 120c |0058: const/4 v12, #int 0 // #0 │ │ -00a6f2: 6e20 ab00 cb00 |0059: invoke-virtual {v11, v12}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -00a6f8: 6e20 e800 a000 |005c: invoke-virtual {v0, v10}, Lcom/google/android/apps/authenticator/AccountDb;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@00e8 │ │ -00a6fe: 0c07 |005f: move-result-object v7 │ │ -00a700: 1201 |0060: const/4 v1, #int 0 // #0 │ │ -00a702: 1204 |0061: const/4 v4, #int 0 // #0 │ │ -00a704: 7110 9401 0700 |0062: invoke-static {v7}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getCheckCode:(Ljava/lang/String;)Ljava/lang/String; // method@0194 │ │ -00a70a: 0c01 |0065: move-result-object v1 │ │ -00a70c: 3804 2700 |0066: if-eqz v4, 008d // +0027 │ │ -00a710: 54fb 6c00 |0068: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCheckCodeTextView:Landroid/widget/TextView; // field@006c │ │ -00a714: 6e20 cd00 4b00 |006a: invoke-virtual {v11, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ -00a71a: 0e00 |006d: return-void │ │ -00a71c: 140b 0500 0a7f |006e: const v11, #float 1.83434e+38 // #7f0a0005 │ │ -00a722: 6e20 9301 bf00 |0071: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ -00a728: 0c0b |0074: move-result-object v11 │ │ -00a72a: 130c 0800 |0075: const/16 v12, #int 8 // #8 │ │ -00a72e: 6e20 ab00 cb00 |0077: invoke-virtual {v11, v12}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -00a734: 28e2 |007a: goto 005c // -001e │ │ -00a736: 0d03 |007b: move-exception v3 │ │ -00a738: 140b 2800 067f |007c: const v11, #float 1.78117e+38 // #7f060028 │ │ -00a73e: 6e20 9601 bf00 |007f: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getString:(I)Ljava/lang/String; // method@0196 │ │ -00a744: 0c04 |0082: move-result-object v4 │ │ -00a746: 28e3 |0083: goto 0066 // -001d │ │ -00a748: 0d03 |0084: move-exception v3 │ │ -00a74a: 140b 2900 067f |0085: const v11, #float 1.78117e+38 // #7f060029 │ │ -00a750: 6e20 9601 bf00 |0088: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getString:(I)Ljava/lang/String; // method@0196 │ │ -00a756: 0c04 |008b: move-result-object v4 │ │ -00a758: 28da |008c: goto 0066 // -0026 │ │ -00a75a: 54fb 6d00 |008d: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCodeTextView:Landroid/widget/TextView; // field@006d │ │ -00a75e: 6e20 cd00 1b00 |008f: invoke-virtual {v11, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ -00a764: 140b 2700 067f |0092: const v11, #float 1.78117e+38 // #7f060027 │ │ -00a76a: 6e20 9601 bf00 |0095: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getString:(I)Ljava/lang/String; // method@0196 │ │ -00a770: 0c0b |0098: move-result-object v11 │ │ -00a772: 121c |0099: const/4 v12, #int 1 // #1 │ │ -00a774: 23cc 3601 |009a: new-array v12, v12, [Ljava/lang/Object; // type@0136 │ │ -00a778: 120d |009c: const/4 v13, #int 0 // #0 │ │ -00a77a: 7110 9600 0a00 |009d: invoke-static {v10}, Landroid/text/TextUtils;.htmlEncode:(Ljava/lang/String;)Ljava/lang/String; // method@0096 │ │ -00a780: 0c0e |00a0: move-result-object v14 │ │ -00a782: 4d0e 0c0d |00a1: aput-object v14, v12, v13 │ │ -00a786: 7120 4503 cb00 |00a3: invoke-static {v11, v12}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ -00a78c: 0c02 |00a6: move-result-object v2 │ │ -00a78e: 7110 9500 0200 |00a7: invoke-static {v2}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0095 │ │ -00a794: 0c08 |00aa: move-result-object v8 │ │ -00a796: 54fb 6c00 |00ab: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCheckCodeTextView:Landroid/widget/TextView; // field@006c │ │ -00a79a: 6e20 cd00 8b00 |00ad: invoke-virtual {v11, v8}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ -00a7a0: 54fb 6c00 |00b0: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCheckCodeTextView:Landroid/widget/TextView; // field@006c │ │ -00a7a4: 120c |00b2: const/4 v12, #int 0 // #0 │ │ -00a7a6: 6e20 cf00 cb00 |00b3: invoke-virtual {v11, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@00cf │ │ -00a7ac: 140b 0300 0a7f |00b6: const v11, #float 1.83434e+38 // #7f0a0003 │ │ -00a7b2: 6e20 9301 bf00 |00b9: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ -00a7b8: 0c0b |00bc: move-result-object v11 │ │ -00a7ba: 120c |00bd: const/4 v12, #int 0 // #0 │ │ -00a7bc: 6e20 ab00 cb00 |00be: invoke-virtual {v11, v12}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ -00a7c2: 28ac |00c1: goto 006d // -0054 │ │ +00ae84: |[00ae84] com.google.android.apps.authenticator.CheckCodeActivity.onCreate:(Landroid/os/Bundle;)V │ │ +00ae94: 7502 0300 0f00 |0000: invoke-super/range {v15, v16}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0003 │ │ +00ae9a: 140b 0100 037f |0003: const v11, #float 1.74129e+38 // #7f030001 │ │ +00aea0: 6e20 9801 bf00 |0006: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.setContentView:(I)V // method@0198 │ │ +00aea6: 140b 0400 0a7f |0009: const v11, #float 1.83434e+38 // #7f0a0004 │ │ +00aeac: 6e20 9301 bf00 |000c: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ +00aeb2: 0c0b |000f: move-result-object v11 │ │ +00aeb4: 1f0b 5e00 |0010: check-cast v11, Landroid/widget/TextView; // type@005e │ │ +00aeb8: 5bfb 6d00 |0012: iput-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCodeTextView:Landroid/widget/TextView; // field@006d │ │ +00aebc: 140b 0200 0a7f |0014: const v11, #float 1.83434e+38 // #7f0a0002 │ │ +00aec2: 6e20 9301 bf00 |0017: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ +00aec8: 0c0b |001a: move-result-object v11 │ │ +00aeca: 1f0b 5e00 |001b: check-cast v11, Landroid/widget/TextView; // type@005e │ │ +00aece: 5bfb 6c00 |001d: iput-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCheckCodeTextView:Landroid/widget/TextView; // field@006c │ │ +00aed2: 140b 0600 0a7f |001f: const v11, #float 1.83434e+38 // #7f0a0006 │ │ +00aed8: 6e20 9301 bf00 |0022: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ +00aede: 0c0b |0025: move-result-object v11 │ │ +00aee0: 1f0b 5e00 |0026: check-cast v11, Landroid/widget/TextView; // type@005e │ │ +00aee4: 5bfb 6e00 |0028: iput-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCounterValue:Landroid/widget/TextView; // field@006e │ │ +00aee8: 6e10 9501 0f00 |002a: invoke-virtual {v15}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getIntent:()Landroid/content/Intent; // method@0195 │ │ +00aeee: 0c06 |002d: move-result-object v6 │ │ +00aef0: 6e10 3500 0600 |002e: invoke-virtual {v6}, Landroid/content/Intent;.getExtras:()Landroid/os/Bundle; // method@0035 │ │ +00aef6: 0c05 |0031: move-result-object v5 │ │ +00aef8: 1a0b bc06 |0032: const-string v11, "user" // string@06bc │ │ +00aefc: 6e20 7500 b500 |0034: invoke-virtual {v5, v11}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0075 │ │ +00af02: 0c0a |0037: move-result-object v10 │ │ +00af04: 7100 6402 0000 |0038: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ +00af0a: 0c00 |003b: move-result-object v0 │ │ +00af0c: 6e20 ea00 a000 |003c: invoke-virtual {v0, v10}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ +00af12: 0c09 |003f: move-result-object v9 │ │ +00af14: 620b 0900 |0040: sget-object v11, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +00af18: 33b9 2c00 |0042: if-ne v9, v11, 006e // +002c │ │ +00af1c: 54fb 6e00 |0044: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCounterValue:Landroid/widget/TextView; // field@006e │ │ +00af20: 6e20 e500 a000 |0046: invoke-virtual {v0, v10}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ +00af26: 0c0c |0049: move-result-object v12 │ │ +00af28: 6e10 3003 0c00 |004a: invoke-virtual {v12}, Ljava/lang/Integer;.toString:()Ljava/lang/String; // method@0330 │ │ +00af2e: 0c0c |004d: move-result-object v12 │ │ +00af30: 6e20 cd00 cb00 |004e: invoke-virtual {v11, v12}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ +00af36: 140b 0500 0a7f |0051: const v11, #float 1.83434e+38 // #7f0a0005 │ │ +00af3c: 6e20 9301 bf00 |0054: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ +00af42: 0c0b |0057: move-result-object v11 │ │ +00af44: 120c |0058: const/4 v12, #int 0 // #0 │ │ +00af46: 6e20 ab00 cb00 |0059: invoke-virtual {v11, v12}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +00af4c: 6e20 e800 a000 |005c: invoke-virtual {v0, v10}, Lcom/google/android/apps/authenticator/AccountDb;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@00e8 │ │ +00af52: 0c07 |005f: move-result-object v7 │ │ +00af54: 1201 |0060: const/4 v1, #int 0 // #0 │ │ +00af56: 1204 |0061: const/4 v4, #int 0 // #0 │ │ +00af58: 7110 9401 0700 |0062: invoke-static {v7}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getCheckCode:(Ljava/lang/String;)Ljava/lang/String; // method@0194 │ │ +00af5e: 0c01 |0065: move-result-object v1 │ │ +00af60: 3804 2700 |0066: if-eqz v4, 008d // +0027 │ │ +00af64: 54fb 6c00 |0068: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCheckCodeTextView:Landroid/widget/TextView; // field@006c │ │ +00af68: 6e20 cd00 4b00 |006a: invoke-virtual {v11, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ +00af6e: 0e00 |006d: return-void │ │ +00af70: 140b 0500 0a7f |006e: const v11, #float 1.83434e+38 // #7f0a0005 │ │ +00af76: 6e20 9301 bf00 |0071: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ +00af7c: 0c0b |0074: move-result-object v11 │ │ +00af7e: 130c 0800 |0075: const/16 v12, #int 8 // #8 │ │ +00af82: 6e20 ab00 cb00 |0077: invoke-virtual {v11, v12}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +00af88: 28e2 |007a: goto 005c // -001e │ │ +00af8a: 0d03 |007b: move-exception v3 │ │ +00af8c: 140b 2800 067f |007c: const v11, #float 1.78117e+38 // #7f060028 │ │ +00af92: 6e20 9601 bf00 |007f: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getString:(I)Ljava/lang/String; // method@0196 │ │ +00af98: 0c04 |0082: move-result-object v4 │ │ +00af9a: 28e3 |0083: goto 0066 // -001d │ │ +00af9c: 0d03 |0084: move-exception v3 │ │ +00af9e: 140b 2900 067f |0085: const v11, #float 1.78117e+38 // #7f060029 │ │ +00afa4: 6e20 9601 bf00 |0088: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getString:(I)Ljava/lang/String; // method@0196 │ │ +00afaa: 0c04 |008b: move-result-object v4 │ │ +00afac: 28da |008c: goto 0066 // -0026 │ │ +00afae: 54fb 6d00 |008d: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCodeTextView:Landroid/widget/TextView; // field@006d │ │ +00afb2: 6e20 cd00 1b00 |008f: invoke-virtual {v11, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ +00afb8: 140b 2700 067f |0092: const v11, #float 1.78117e+38 // #7f060027 │ │ +00afbe: 6e20 9601 bf00 |0095: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.getString:(I)Ljava/lang/String; // method@0196 │ │ +00afc4: 0c0b |0098: move-result-object v11 │ │ +00afc6: 121c |0099: const/4 v12, #int 1 // #1 │ │ +00afc8: 23cc 3601 |009a: new-array v12, v12, [Ljava/lang/Object; // type@0136 │ │ +00afcc: 120d |009c: const/4 v13, #int 0 // #0 │ │ +00afce: 7110 9600 0a00 |009d: invoke-static {v10}, Landroid/text/TextUtils;.htmlEncode:(Ljava/lang/String;)Ljava/lang/String; // method@0096 │ │ +00afd4: 0c0e |00a0: move-result-object v14 │ │ +00afd6: 4d0e 0c0d |00a1: aput-object v14, v12, v13 │ │ +00afda: 7120 4503 cb00 |00a3: invoke-static {v11, v12}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ +00afe0: 0c02 |00a6: move-result-object v2 │ │ +00afe2: 7110 9500 0200 |00a7: invoke-static {v2}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0095 │ │ +00afe8: 0c08 |00aa: move-result-object v8 │ │ +00afea: 54fb 6c00 |00ab: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCheckCodeTextView:Landroid/widget/TextView; // field@006c │ │ +00afee: 6e20 cd00 8b00 |00ad: invoke-virtual {v11, v8}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ +00aff4: 54fb 6c00 |00b0: iget-object v11, v15, Lcom/google/android/apps/authenticator/CheckCodeActivity;.mCheckCodeTextView:Landroid/widget/TextView; // field@006c │ │ +00aff8: 120c |00b2: const/4 v12, #int 0 // #0 │ │ +00affa: 6e20 cf00 cb00 |00b3: invoke-virtual {v11, v12}, Landroid/widget/TextView;.setVisibility:(I)V // method@00cf │ │ +00b000: 140b 0300 0a7f |00b6: const v11, #float 1.83434e+38 // #7f0a0003 │ │ +00b006: 6e20 9301 bf00 |00b9: invoke-virtual {v15, v11}, Lcom/google/android/apps/authenticator/CheckCodeActivity;.findViewById:(I)Landroid/view/View; // method@0193 │ │ +00b00c: 0c0b |00bc: move-result-object v11 │ │ +00b00e: 120c |00bd: const/4 v12, #int 0 // #0 │ │ +00b010: 6e20 ab00 cb00 |00be: invoke-virtual {v11, v12}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +00b016: 28ac |00c1: goto 006d // -0054 │ │ catches : 1 │ │ 0x0062 - 0x0065 │ │ Ljava/security/GeneralSecurityException; -> 0x007b │ │ Lcom/google/android/apps/authenticator/Base32String$DecodingException; -> 0x0084 │ │ positions : │ │ 0x0000 line=50 │ │ 0x0003 line=51 │ │ @@ -8509,14 +4559,16 @@ │ │ 0x007b line=74 │ │ 0x007c line=75 │ │ 0x0083 line=78 │ │ 0x0084 line=76 │ │ 0x0085 line=77 │ │ 0x008d line=83 │ │ 0x0092 line=84 │ │ + 0x009d line=85 │ │ + 0x00a3 line=84 │ │ 0x00a7 line=86 │ │ 0x00ab line=87 │ │ 0x00b0 line=88 │ │ 0x00b6 line=89 │ │ locals : │ │ 0x0061 - 0x006e reg=1 checkCode Ljava/lang/String; │ │ 0x0062 - 0x006e reg=4 errorMessage Ljava/lang/String; │ │ @@ -8534,25 +4586,25 @@ │ │ 0x0040 - 0x00c2 reg=9 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ 0x0038 - 0x00c2 reg=10 user Ljava/lang/String; │ │ 0x0000 - 0x00c2 reg=15 this Lcom/google/android/apps/authenticator/CheckCodeActivity; │ │ 0x0000 - 0x00c2 reg=16 savedInstanceState Landroid/os/Bundle; │ │ │ │ source_file_idx : 98 (CheckCodeActivity.java) │ │ │ │ -Class #37 header: │ │ +Class #27 header: │ │ class_idx : 126 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 78 │ │ source_file_idx : 101 │ │ static_fields_size : 1 │ │ instance_fields_size: 3 │ │ direct_methods_size : 2 │ │ virtual_methods_size: 2 │ │ │ │ -Class #37 - │ │ +Class #27 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/CountdownIndicator;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Landroid/view/View;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/CountdownIndicator;) │ │ name : 'DEFAULT_COLOR' │ │ @@ -8578,18 +4630,18 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -00a7d4: |[00a7d4] com.google.android.apps.authenticator.CountdownIndicator.:(Landroid/content/Context;)V │ │ -00a7e4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -00a7e6: 7030 9a01 2100 |0001: invoke-direct {v1, v2, v0}, Lcom/google/android/apps/authenticator/CountdownIndicator;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@019a │ │ -00a7ec: 0e00 |0004: return-void │ │ +00b028: |[00b028] com.google.android.apps.authenticator.CountdownIndicator.:(Landroid/content/Context;)V │ │ +00b038: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +00b03a: 7030 9a01 2100 |0001: invoke-direct {v1, v2, v0}, Lcom/google/android/apps/authenticator/CountdownIndicator;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@019a │ │ +00b040: 0e00 |0004: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ 0x0004 line=49 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lcom/google/android/apps/authenticator/CountdownIndicator; │ │ 0x0000 - 0x0005 reg=2 context Landroid/content/Context; │ │ @@ -8599,60 +4651,60 @@ │ │ type : '(Landroid/content/Context;Landroid/util/AttributeSet;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 12 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 96 16-bit code units │ │ -00a7f0: |[00a7f0] com.google.android.apps.authenticator.CountdownIndicator.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ -00a800: 1218 |0000: const/4 v8, #int 1 // #1 │ │ -00a802: 1207 |0001: const/4 v7, #int 0 // #0 │ │ -00a804: 7030 a400 a90b |0002: invoke-direct {v9, v10, v11}, Landroid/view/View;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00a4 │ │ -00a80a: 1402 c060 30ff |0005: const v2, #float -2.34446e+38 // #ff3060c0 │ │ -00a810: 6e10 2900 0a00 |0008: invoke-virtual {v10}, Landroid/content/Context;.getTheme:()Landroid/content/res/Resources$Theme; // method@0029 │ │ -00a816: 0c05 |000b: move-result-object v5 │ │ -00a818: 6206 b601 |000c: sget-object v6, Lcom/google/android/apps/authenticator2/R$styleable;.CountdownIndicator:[I // field@01b6 │ │ -00a81c: 6e57 4800 b576 |000e: invoke-virtual {v5, v11, v6, v7, v7}, Landroid/content/res/Resources$Theme;.obtainStyledAttributes:(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; // method@0048 │ │ -00a822: 0c00 |0011: move-result-object v0 │ │ -00a824: 3800 1b00 |0012: if-eqz v0, 002d // +001b │ │ -00a828: 6e10 4c00 0000 |0014: invoke-virtual {v0}, Landroid/content/res/TypedArray;.getIndexCount:()I // method@004c │ │ -00a82e: 0a04 |0017: move-result v4 │ │ -00a830: 1203 |0018: const/4 v3, #int 0 // #0 │ │ -00a832: 3543 1400 |0019: if-ge v3, v4, 002d // +0014 │ │ -00a836: 6e20 4b00 3000 |001b: invoke-virtual {v0, v3}, Landroid/content/res/TypedArray;.getIndex:(I)I // method@004b │ │ -00a83c: 0a01 |001e: move-result v1 │ │ -00a83e: 2b01 3b00 0000 |001f: packed-switch v1, 0000005a // +0000003b │ │ -00a844: d803 0301 |0022: add-int/lit8 v3, v3, #int 1 // #01 │ │ -00a848: 28f5 |0024: goto 0019 // -000b │ │ -00a84a: 1406 c060 30ff |0025: const v6, #float -2.34446e+38 // #ff3060c0 │ │ -00a850: 6e30 4a00 1006 |0028: invoke-virtual {v0, v1, v6}, Landroid/content/res/TypedArray;.getColor:(II)I // method@004a │ │ -00a856: 0a02 |002b: move-result v2 │ │ -00a858: 28f6 |002c: goto 0022 // -000a │ │ -00a85a: 2206 2900 |002d: new-instance v6, Landroid/graphics/Paint; // type@0029 │ │ -00a85e: 7020 6200 8600 |002f: invoke-direct {v6, v8}, Landroid/graphics/Paint;.:(I)V // method@0062 │ │ -00a864: 5b96 7000 |0032: iput-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ -00a868: 5496 7000 |0034: iget-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ -00a86c: 1207 |0036: const/4 v7, #int 0 // #0 │ │ -00a86e: 6e20 6500 7600 |0037: invoke-virtual {v6, v7}, Landroid/graphics/Paint;.setStrokeWidth:(F)V // method@0065 │ │ -00a874: 5496 7000 |003a: iget-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ -00a878: 6207 0300 |003c: sget-object v7, Landroid/graphics/Paint$Style;.STROKE:Landroid/graphics/Paint$Style; // field@0003 │ │ -00a87c: 6e20 6600 7600 |003e: invoke-virtual {v6, v7}, Landroid/graphics/Paint;.setStyle:(Landroid/graphics/Paint$Style;)V // method@0066 │ │ -00a882: 5496 7000 |0041: iget-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ -00a886: 6e20 6400 2600 |0043: invoke-virtual {v6, v2}, Landroid/graphics/Paint;.setColor:(I)V // method@0064 │ │ -00a88c: 2206 2900 |0046: new-instance v6, Landroid/graphics/Paint; // type@0029 │ │ -00a890: 7020 6200 8600 |0048: invoke-direct {v6, v8}, Landroid/graphics/Paint;.:(I)V // method@0062 │ │ -00a896: 5b96 7200 |004b: iput-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mRemainingSectorPaint:Landroid/graphics/Paint; // field@0072 │ │ -00a89a: 5496 7200 |004d: iget-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mRemainingSectorPaint:Landroid/graphics/Paint; // field@0072 │ │ -00a89e: 5497 7000 |004f: iget-object v7, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ -00a8a2: 6e10 6300 0700 |0051: invoke-virtual {v7}, Landroid/graphics/Paint;.getColor:()I // method@0063 │ │ -00a8a8: 0a07 |0054: move-result v7 │ │ -00a8aa: 6e20 6400 7600 |0055: invoke-virtual {v6, v7}, Landroid/graphics/Paint;.setColor:(I)V // method@0064 │ │ -00a8b0: 0e00 |0058: return-void │ │ -00a8b2: 0000 |0059: nop // spacer │ │ -00a8b4: 0001 0100 0000 0000 0600 0000 |005a: packed-switch-data (6 units) │ │ +00b044: |[00b044] com.google.android.apps.authenticator.CountdownIndicator.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ +00b054: 1218 |0000: const/4 v8, #int 1 // #1 │ │ +00b056: 1207 |0001: const/4 v7, #int 0 // #0 │ │ +00b058: 7030 a400 a90b |0002: invoke-direct {v9, v10, v11}, Landroid/view/View;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00a4 │ │ +00b05e: 1402 c060 30ff |0005: const v2, #float -2.34446e+38 // #ff3060c0 │ │ +00b064: 6e10 2900 0a00 |0008: invoke-virtual {v10}, Landroid/content/Context;.getTheme:()Landroid/content/res/Resources$Theme; // method@0029 │ │ +00b06a: 0c05 |000b: move-result-object v5 │ │ +00b06c: 6206 b601 |000c: sget-object v6, Lcom/google/android/apps/authenticator2/R$styleable;.CountdownIndicator:[I // field@01b6 │ │ +00b070: 6e57 4800 b576 |000e: invoke-virtual {v5, v11, v6, v7, v7}, Landroid/content/res/Resources$Theme;.obtainStyledAttributes:(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; // method@0048 │ │ +00b076: 0c00 |0011: move-result-object v0 │ │ +00b078: 3800 1b00 |0012: if-eqz v0, 002d // +001b │ │ +00b07c: 6e10 4c00 0000 |0014: invoke-virtual {v0}, Landroid/content/res/TypedArray;.getIndexCount:()I // method@004c │ │ +00b082: 0a04 |0017: move-result v4 │ │ +00b084: 1203 |0018: const/4 v3, #int 0 // #0 │ │ +00b086: 3543 1400 |0019: if-ge v3, v4, 002d // +0014 │ │ +00b08a: 6e20 4b00 3000 |001b: invoke-virtual {v0, v3}, Landroid/content/res/TypedArray;.getIndex:(I)I // method@004b │ │ +00b090: 0a01 |001e: move-result v1 │ │ +00b092: 2b01 3b00 0000 |001f: packed-switch v1, 0000005a // +0000003b │ │ +00b098: d803 0301 |0022: add-int/lit8 v3, v3, #int 1 // #01 │ │ +00b09c: 28f5 |0024: goto 0019 // -000b │ │ +00b09e: 1406 c060 30ff |0025: const v6, #float -2.34446e+38 // #ff3060c0 │ │ +00b0a4: 6e30 4a00 1006 |0028: invoke-virtual {v0, v1, v6}, Landroid/content/res/TypedArray;.getColor:(II)I // method@004a │ │ +00b0aa: 0a02 |002b: move-result v2 │ │ +00b0ac: 28f6 |002c: goto 0022 // -000a │ │ +00b0ae: 2206 2900 |002d: new-instance v6, Landroid/graphics/Paint; // type@0029 │ │ +00b0b2: 7020 6200 8600 |002f: invoke-direct {v6, v8}, Landroid/graphics/Paint;.:(I)V // method@0062 │ │ +00b0b8: 5b96 7000 |0032: iput-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ +00b0bc: 5496 7000 |0034: iget-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ +00b0c0: 1207 |0036: const/4 v7, #int 0 // #0 │ │ +00b0c2: 6e20 6500 7600 |0037: invoke-virtual {v6, v7}, Landroid/graphics/Paint;.setStrokeWidth:(F)V // method@0065 │ │ +00b0c8: 5496 7000 |003a: iget-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ +00b0cc: 6207 0300 |003c: sget-object v7, Landroid/graphics/Paint$Style;.STROKE:Landroid/graphics/Paint$Style; // field@0003 │ │ +00b0d0: 6e20 6600 7600 |003e: invoke-virtual {v6, v7}, Landroid/graphics/Paint;.setStyle:(Landroid/graphics/Paint$Style;)V // method@0066 │ │ +00b0d6: 5496 7000 |0041: iget-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ +00b0da: 6e20 6400 2600 |0043: invoke-virtual {v6, v2}, Landroid/graphics/Paint;.setColor:(I)V // method@0064 │ │ +00b0e0: 2206 2900 |0046: new-instance v6, Landroid/graphics/Paint; // type@0029 │ │ +00b0e4: 7020 6200 8600 |0048: invoke-direct {v6, v8}, Landroid/graphics/Paint;.:(I)V // method@0062 │ │ +00b0ea: 5b96 7200 |004b: iput-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mRemainingSectorPaint:Landroid/graphics/Paint; // field@0072 │ │ +00b0ee: 5496 7200 |004d: iget-object v6, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mRemainingSectorPaint:Landroid/graphics/Paint; // field@0072 │ │ +00b0f2: 5497 7000 |004f: iget-object v7, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ +00b0f6: 6e10 6300 0700 |0051: invoke-virtual {v7}, Landroid/graphics/Paint;.getColor:()I // method@0063 │ │ +00b0fc: 0a07 |0054: move-result v7 │ │ +00b0fe: 6e20 6400 7600 |0055: invoke-virtual {v6, v7}, Landroid/graphics/Paint;.setColor:(I)V // method@0064 │ │ +00b104: 0e00 |0058: return-void │ │ +00b106: 0000 |0059: nop // spacer │ │ +00b108: 0001 0100 0000 0000 0600 0000 |005a: packed-switch-data (6 units) │ │ catches : (none) │ │ positions : │ │ 0x0002 line=52 │ │ 0x0005 line=54 │ │ 0x0008 line=55 │ │ 0x000c line=56 │ │ 0x0012 line=58 │ │ @@ -8687,45 +4739,45 @@ │ │ type : '(Landroid/graphics/Canvas;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 59 16-bit code units │ │ -00a8c0: |[00a8c0] com.google.android.apps.authenticator.CountdownIndicator.onDraw:(Landroid/graphics/Canvas;)V │ │ -00a8d0: 1508 803f |0000: const/high16 v8, #int 1065353216 // #3f80 │ │ -00a8d4: 5394 7100 |0002: iget-wide v4, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mPhase:D // field@0071 │ │ -00a8d8: 1806 0000 0000 0080 7640 |0004: const-wide v6, #double 360 // #4076800000000000 │ │ -00a8e2: cd64 |0009: mul-double/2addr v4, v6 │ │ -00a8e4: 8c43 |000a: double-to-float v3, v4 │ │ -00a8e6: 1500 8743 |000b: const/high16 v0, #int 1132920832 // #4387 │ │ -00a8ea: a702 0003 |000d: sub-float v2, v0, v3 │ │ -00a8ee: 2201 2a00 |000f: new-instance v1, Landroid/graphics/RectF; // type@002a │ │ -00a8f2: 6e10 9c01 0900 |0011: invoke-virtual {v9}, Lcom/google/android/apps/authenticator/CountdownIndicator;.getWidth:()I // method@019c │ │ -00a8f8: 0a00 |0014: move-result v0 │ │ -00a8fa: d800 00ff |0015: add-int/lit8 v0, v0, #int -1 // #ff │ │ -00a8fe: 8200 |0017: int-to-float v0, v0 │ │ -00a900: 6e10 9b01 0900 |0018: invoke-virtual {v9}, Lcom/google/android/apps/authenticator/CountdownIndicator;.getHeight:()I // method@019b │ │ -00a906: 0a04 |001b: move-result v4 │ │ -00a908: d804 04ff |001c: add-int/lit8 v4, v4, #int -1 // #ff │ │ -00a90c: 8244 |001e: int-to-float v4, v4 │ │ -00a90e: 7054 6700 8108 |001f: invoke-direct {v1, v8, v8, v0, v4}, Landroid/graphics/RectF;.:(FFFF)V // method@0067 │ │ -00a914: 1500 b443 |0022: const/high16 v0, #int 1135869952 // #43b4 │ │ -00a918: 2e00 0200 |0024: cmpg-float v0, v2, v0 │ │ -00a91c: 3b00 0f00 |0026: if-gez v0, 0035 // +000f │ │ -00a920: 1214 |0028: const/4 v4, #int 1 // #1 │ │ -00a922: 5495 7200 |0029: iget-object v5, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mRemainingSectorPaint:Landroid/graphics/Paint; // field@0072 │ │ -00a926: 07a0 |002b: move-object v0, v10 │ │ -00a928: 7406 6000 0000 |002c: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawArc:(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V // method@0060 │ │ -00a92e: 5490 7000 |002f: iget-object v0, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ -00a932: 6e30 6100 1a00 |0031: invoke-virtual {v10, v1, v0}, Landroid/graphics/Canvas;.drawOval:(Landroid/graphics/RectF;Landroid/graphics/Paint;)V // method@0061 │ │ -00a938: 0e00 |0034: return-void │ │ -00a93a: 5490 7200 |0035: iget-object v0, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mRemainingSectorPaint:Landroid/graphics/Paint; // field@0072 │ │ -00a93e: 6e30 6100 1a00 |0037: invoke-virtual {v10, v1, v0}, Landroid/graphics/Canvas;.drawOval:(Landroid/graphics/RectF;Landroid/graphics/Paint;)V // method@0061 │ │ -00a944: 28f5 |003a: goto 002f // -000b │ │ +00b114: |[00b114] com.google.android.apps.authenticator.CountdownIndicator.onDraw:(Landroid/graphics/Canvas;)V │ │ +00b124: 1508 803f |0000: const/high16 v8, #int 1065353216 // #3f80 │ │ +00b128: 5394 7100 |0002: iget-wide v4, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mPhase:D // field@0071 │ │ +00b12c: 1806 0000 0000 0080 7640 |0004: const-wide v6, #double 360 // #4076800000000000 │ │ +00b136: cd64 |0009: mul-double/2addr v4, v6 │ │ +00b138: 8c43 |000a: double-to-float v3, v4 │ │ +00b13a: 1500 8743 |000b: const/high16 v0, #int 1132920832 // #4387 │ │ +00b13e: a702 0003 |000d: sub-float v2, v0, v3 │ │ +00b142: 2201 2a00 |000f: new-instance v1, Landroid/graphics/RectF; // type@002a │ │ +00b146: 6e10 9c01 0900 |0011: invoke-virtual {v9}, Lcom/google/android/apps/authenticator/CountdownIndicator;.getWidth:()I // method@019c │ │ +00b14c: 0a00 |0014: move-result v0 │ │ +00b14e: d800 00ff |0015: add-int/lit8 v0, v0, #int -1 // #ff │ │ +00b152: 8200 |0017: int-to-float v0, v0 │ │ +00b154: 6e10 9b01 0900 |0018: invoke-virtual {v9}, Lcom/google/android/apps/authenticator/CountdownIndicator;.getHeight:()I // method@019b │ │ +00b15a: 0a04 |001b: move-result v4 │ │ +00b15c: d804 04ff |001c: add-int/lit8 v4, v4, #int -1 // #ff │ │ +00b160: 8244 |001e: int-to-float v4, v4 │ │ +00b162: 7054 6700 8108 |001f: invoke-direct {v1, v8, v8, v0, v4}, Landroid/graphics/RectF;.:(FFFF)V // method@0067 │ │ +00b168: 1500 b443 |0022: const/high16 v0, #int 1135869952 // #43b4 │ │ +00b16c: 2e00 0200 |0024: cmpg-float v0, v2, v0 │ │ +00b170: 3b00 0f00 |0026: if-gez v0, 0035 // +000f │ │ +00b174: 1214 |0028: const/4 v4, #int 1 // #1 │ │ +00b176: 5495 7200 |0029: iget-object v5, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mRemainingSectorPaint:Landroid/graphics/Paint; // field@0072 │ │ +00b17a: 07a0 |002b: move-object v0, v10 │ │ +00b17c: 7406 6000 0000 |002c: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawArc:(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V // method@0060 │ │ +00b182: 5490 7000 |002f: iget-object v0, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mBorderPaint:Landroid/graphics/Paint; // field@0070 │ │ +00b186: 6e30 6100 1a00 |0031: invoke-virtual {v10, v1, v0}, Landroid/graphics/Canvas;.drawOval:(Landroid/graphics/RectF;Landroid/graphics/Paint;)V // method@0061 │ │ +00b18c: 0e00 |0034: return-void │ │ +00b18e: 5490 7200 |0035: iget-object v0, v9, Lcom/google/android/apps/authenticator/CountdownIndicator;.mRemainingSectorPaint:Landroid/graphics/Paint; // field@0072 │ │ +00b192: 6e30 6100 1a00 |0037: invoke-virtual {v10, v1, v0}, Landroid/graphics/Canvas;.drawOval:(Landroid/graphics/RectF;Landroid/graphics/Paint;)V // method@0061 │ │ +00b198: 28f5 |003a: goto 002f // -000b │ │ catches : (none) │ │ positions : │ │ 0x0002 line=81 │ │ 0x000b line=82 │ │ 0x000f line=87 │ │ 0x0022 line=88 │ │ 0x0028 line=89 │ │ @@ -8744,390 +4796,65 @@ │ │ type : '(D)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 43 16-bit code units │ │ -00a948: |[00a948] com.google.android.apps.authenticator.CountdownIndicator.setPhase:(D)V │ │ -00a958: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ -00a95c: 3000 0400 |0002: cmpg-double v0, v4, v0 │ │ -00a960: 3a00 0800 |0004: if-ltz v0, 000c // +0008 │ │ -00a964: 1900 f03f |0006: const-wide/high16 v0, #long 4607182418800017408 // #3ff0 │ │ -00a968: 2f00 0400 |0008: cmpl-double v0, v4, v0 │ │ -00a96c: 3d00 1b00 |000a: if-lez v0, 0025 // +001b │ │ -00a970: 2200 e900 |000c: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ -00a974: 2201 f900 |000e: new-instance v1, Ljava/lang/StringBuilder; // type@00f9 │ │ -00a978: 7010 5303 0100 |0010: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00a97e: 1a02 ad05 |0013: const-string v2, "phase: " // string@05ad │ │ -00a982: 6e20 5a03 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00a988: 0c01 |0018: move-result-object v1 │ │ -00a98a: 6e30 5603 4105 |0019: invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0356 │ │ -00a990: 0c01 |001c: move-result-object v1 │ │ -00a992: 6e10 5b03 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00a998: 0c01 |0020: move-result-object v1 │ │ -00a99a: 7020 2603 1000 |0021: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ -00a9a0: 2700 |0024: throw v0 │ │ -00a9a2: 5a34 7100 |0025: iput-wide v4, v3, Lcom/google/android/apps/authenticator/CountdownIndicator;.mPhase:D // field@0071 │ │ -00a9a6: 6e10 9d01 0300 |0027: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/CountdownIndicator;.invalidate:()V // method@019d │ │ -00a9ac: 0e00 |002a: return-void │ │ +00b19c: |[00b19c] com.google.android.apps.authenticator.CountdownIndicator.setPhase:(D)V │ │ +00b1ac: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ +00b1b0: 3000 0400 |0002: cmpg-double v0, v4, v0 │ │ +00b1b4: 3a00 0800 |0004: if-ltz v0, 000c // +0008 │ │ +00b1b8: 1900 f03f |0006: const-wide/high16 v0, #long 4607182418800017408 // #3ff0 │ │ +00b1bc: 2f00 0400 |0008: cmpl-double v0, v4, v0 │ │ +00b1c0: 3d00 1b00 |000a: if-lez v0, 0025 // +001b │ │ +00b1c4: 2200 e900 |000c: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ +00b1c8: 2201 f900 |000e: new-instance v1, Ljava/lang/StringBuilder; // type@00f9 │ │ +00b1cc: 7010 5303 0100 |0010: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00b1d2: 1a02 a705 |0013: const-string v2, "phase: " // string@05a7 │ │ +00b1d6: 6e20 5a03 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b1dc: 0c01 |0018: move-result-object v1 │ │ +00b1de: 6e30 5603 4105 |0019: invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0356 │ │ +00b1e4: 0c01 |001c: move-result-object v1 │ │ +00b1e6: 6e10 5b03 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00b1ec: 0c01 |0020: move-result-object v1 │ │ +00b1ee: 7020 2603 1000 |0021: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ +00b1f4: 2700 |0024: throw v0 │ │ +00b1f6: 5a34 7100 |0025: iput-wide v4, v3, Lcom/google/android/apps/authenticator/CountdownIndicator;.mPhase:D // field@0071 │ │ +00b1fa: 6e10 9d01 0300 |0027: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/CountdownIndicator;.invalidate:()V // method@019d │ │ +00b200: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ 0x000c line=112 │ │ 0x0025 line=115 │ │ 0x0027 line=116 │ │ 0x002a line=117 │ │ locals : │ │ 0x0000 - 0x002b reg=3 this Lcom/google/android/apps/authenticator/CountdownIndicator; │ │ 0x0000 - 0x002b reg=4 phase D │ │ │ │ source_file_idx : 101 (CountdownIndicator.java) │ │ │ │ -Class #38 header: │ │ -class_idx : 127 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 194 │ │ -source_file_idx : 127 │ │ -static_fields_size : 1 │ │ -instance_fields_size: 3 │ │ -direct_methods_size : 3 │ │ -virtual_methods_size: 5 │ │ - │ │ -Class #38 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" "Landroid/text/TextWatcher;" } │ │ - │ │ -Class #38 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/EnterKeyActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ - Interfaces - │ │ - #0 : 'Landroid/text/TextWatcher;' │ │ - Static fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'MIN_KEY_BYTES' │ │ - type : 'I' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : 10 │ │ - Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'mAccountName' │ │ - type : 'Landroid/widget/EditText;' │ │ - access : 0x0002 (PRIVATE) │ │ - #1 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'mKeyEntryField' │ │ - type : 'Landroid/widget/EditText;' │ │ - access : 0x0002 (PRIVATE) │ │ - #2 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'mType' │ │ - type : 'Landroid/widget/Spinner;' │ │ - access : 0x0002 (PRIVATE) │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00a9b0: |[00a9b0] com.google.android.apps.authenticator.EnterKeyActivity.:()V │ │ -00a9c0: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ -00a9c6: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=39 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'getEnteredKey' │ │ - type : '()Ljava/lang/String;' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 5 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 27 16-bit code units │ │ -00a9c8: |[00a9c8] com.google.android.apps.authenticator.EnterKeyActivity.getEnteredKey:()Ljava/lang/String; │ │ -00a9d8: 5441 7500 |0000: iget-object v1, v4, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ -00a9dc: 6e10 bd00 0100 |0002: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00bd │ │ -00a9e2: 0c01 |0005: move-result-object v1 │ │ -00a9e4: 6e10 3c03 0100 |0006: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@033c │ │ -00a9ea: 0c00 |0009: move-result-object v0 │ │ -00a9ec: 1301 3100 |000a: const/16 v1, #int 49 // #31 │ │ -00a9f0: 1302 4900 |000c: const/16 v2, #int 73 // #49 │ │ -00a9f4: 6e30 4803 1002 |000e: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(CC)Ljava/lang/String; // method@0348 │ │ -00a9fa: 0c01 |0011: move-result-object v1 │ │ -00a9fc: 1302 3000 |0012: const/16 v2, #int 48 // #30 │ │ -00aa00: 1303 4f00 |0014: const/16 v3, #int 79 // #4f │ │ -00aa04: 6e30 4803 2103 |0016: invoke-virtual {v1, v2, v3}, Ljava/lang/String;.replace:(CC)Ljava/lang/String; // method@0348 │ │ -00aa0a: 0c01 |0019: move-result-object v1 │ │ -00aa0c: 1101 |001a: return-object v1 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=73 │ │ - 0x000a line=74 │ │ - locals : │ │ - 0x000a - 0x001b reg=0 enteredKey Ljava/lang/String; │ │ - 0x0000 - 0x001b reg=4 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'validateKeyAndUpdateStatus' │ │ - type : '(Z)Z' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 9 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 52 16-bit code units │ │ -00aa10: |[00aa10] com.google.android.apps.authenticator.EnterKeyActivity.validateKeyAndUpdateStatus:(Z)Z │ │ -00aa20: 1204 |0000: const/4 v4, #int 0 // #0 │ │ -00aa22: 1203 |0001: const/4 v3, #int 0 // #0 │ │ -00aa24: 7010 a601 0700 |0002: invoke-direct {v7}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.getEnteredKey:()Ljava/lang/String; // method@01a6 │ │ -00aa2a: 0c02 |0005: move-result-object v2 │ │ -00aa2c: 7110 8d01 0200 |0006: invoke-static {v2}, Lcom/google/android/apps/authenticator/Base32String;.decode:(Ljava/lang/String;)[B // method@018d │ │ -00aa32: 0c00 |0009: move-result-object v0 │ │ -00aa34: 2105 |000a: array-length v5, v0 │ │ -00aa36: 1306 0a00 |000b: const/16 v6, #int 10 // #a │ │ -00aa3a: 3565 1100 |000d: if-ge v5, v6, 001e // +0011 │ │ -00aa3e: 5475 7500 |000f: iget-object v5, v7, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ -00aa42: 3808 0900 |0011: if-eqz v8, 001a // +0009 │ │ -00aa46: 1404 1100 067f |0013: const v4, #float 1.78117e+38 // #7f060011 │ │ -00aa4c: 6e20 a701 4700 |0016: invoke-virtual {v7, v4}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.getString:(I)Ljava/lang/String; // method@01a7 │ │ -00aa52: 0c04 |0019: move-result-object v4 │ │ -00aa54: 6e20 be00 4500 |001a: invoke-virtual {v5, v4}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00be │ │ -00aa5a: 0f03 |001d: return v3 │ │ -00aa5c: 5474 7500 |001e: iget-object v4, v7, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ -00aa60: 1205 |0020: const/4 v5, #int 0 // #0 │ │ -00aa62: 6e20 be00 5400 |0021: invoke-virtual {v4, v5}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00be │ │ -00aa68: 1213 |0024: const/4 v3, #int 1 // #1 │ │ -00aa6a: 28f8 |0025: goto 001d // -0008 │ │ -00aa6c: 0d01 |0026: move-exception v1 │ │ -00aa6e: 5474 7500 |0027: iget-object v4, v7, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ -00aa72: 1405 1200 067f |0029: const v5, #float 1.78117e+38 // #7f060012 │ │ -00aa78: 6e20 a701 5700 |002c: invoke-virtual {v7, v5}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.getString:(I)Ljava/lang/String; // method@01a7 │ │ -00aa7e: 0c05 |002f: move-result-object v5 │ │ -00aa80: 6e20 be00 5400 |0030: invoke-virtual {v4, v5}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00be │ │ -00aa86: 28ea |0033: goto 001d // -0016 │ │ - catches : 1 │ │ - 0x0006 - 0x0024 │ │ - Lcom/google/android/apps/authenticator/Base32String$DecodingException; -> 0x0026 │ │ - positions : │ │ - 0x0002 line=82 │ │ - 0x0006 line=84 │ │ - 0x000a line=85 │ │ - 0x000f line=88 │ │ - 0x001d line=96 │ │ - 0x001e line=91 │ │ - 0x0024 line=92 │ │ - 0x0026 line=94 │ │ - 0x0027 line=95 │ │ - locals : │ │ - 0x000a - 0x001d reg=0 decoded [B │ │ - 0x001e - 0x0026 reg=0 decoded [B │ │ - 0x0027 - 0x0034 reg=1 e Lcom/google/android/apps/authenticator/Base32String$DecodingException; │ │ - 0x0006 - 0x0034 reg=2 userEnteredKey Ljava/lang/String; │ │ - 0x0000 - 0x0034 reg=7 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ - 0x0000 - 0x0034 reg=8 submitting Z │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'afterTextChanged' │ │ - type : '(Landroid/text/Editable;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 5 16-bit code units │ │ -00aa94: |[00aa94] com.google.android.apps.authenticator.EnterKeyActivity.afterTextChanged:(Landroid/text/Editable;)V │ │ -00aaa4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -00aaa6: 7020 ac01 0100 |0001: invoke-direct {v1, v0}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.validateKeyAndUpdateStatus:(Z)Z // method@01ac │ │ -00aaac: 0e00 |0004: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=123 │ │ - 0x0004 line=124 │ │ - locals : │ │ - 0x0000 - 0x0005 reg=1 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ - 0x0000 - 0x0005 reg=2 userEnteredValue Landroid/text/Editable; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'beforeTextChanged' │ │ - type : '(Ljava/lang/CharSequence;III)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 5 │ │ - ins : 5 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -00aab0: |[00aab0] com.google.android.apps.authenticator.EnterKeyActivity.beforeTextChanged:(Ljava/lang/CharSequence;III)V │ │ -00aac0: 0e00 |0000: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=132 │ │ - locals : │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ - 0x0000 - 0x0001 reg=1 arg0 Ljava/lang/CharSequence; │ │ - 0x0000 - 0x0001 reg=2 arg1 I │ │ - 0x0000 - 0x0001 reg=3 arg2 I │ │ - 0x0000 - 0x0001 reg=4 arg3 I │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 5 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 76 16-bit code units │ │ -00aac4: |[00aac4] com.google.android.apps.authenticator.EnterKeyActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00aad4: 6f20 eb02 4300 |0000: invoke-super {v3, v4}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ -00aada: 1401 0200 037f |0003: const v1, #float 1.74129e+38 // #7f030002 │ │ -00aae0: 6e20 ab01 1300 |0006: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.setPageContentView:(I)Landroid/view/View; // method@01ab │ │ -00aae6: 1401 0800 0a7f |0009: const v1, #float 1.83434e+38 // #7f0a0008 │ │ -00aaec: 6e20 a501 1300 |000c: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.findViewById:(I)Landroid/view/View; // method@01a5 │ │ -00aaf2: 0c01 |000f: move-result-object v1 │ │ -00aaf4: 1f01 5800 |0010: check-cast v1, Landroid/widget/EditText; // type@0058 │ │ -00aaf8: 5b31 7500 |0012: iput-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ -00aafc: 1401 0700 0a7f |0014: const v1, #float 1.83434e+38 // #7f0a0007 │ │ -00ab02: 6e20 a501 1300 |0017: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.findViewById:(I)Landroid/view/View; // method@01a5 │ │ -00ab08: 0c01 |001a: move-result-object v1 │ │ -00ab0a: 1f01 5800 |001b: check-cast v1, Landroid/widget/EditText; // type@0058 │ │ -00ab0e: 5b31 7400 |001d: iput-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mAccountName:Landroid/widget/EditText; // field@0074 │ │ -00ab12: 1401 0900 0a7f |001f: const v1, #float 1.83434e+38 // #7f0a0009 │ │ -00ab18: 6e20 a501 1300 |0022: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.findViewById:(I)Landroid/view/View; // method@01a5 │ │ -00ab1e: 0c01 |0025: move-result-object v1 │ │ -00ab20: 1f01 5c00 |0026: check-cast v1, Landroid/widget/Spinner; // type@005c │ │ -00ab24: 5b31 7700 |0028: iput-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mType:Landroid/widget/Spinner; // field@0077 │ │ -00ab28: 1501 077f |002a: const/high16 v1, #int 2131165184 // #7f07 │ │ -00ab2c: 1402 0800 0901 |002c: const v2, #float 2.51629e-38 // #01090008 │ │ -00ab32: 7130 b700 1302 |002f: invoke-static {v3, v1, v2}, Landroid/widget/ArrayAdapter;.createFromResource:(Landroid/content/Context;II)Landroid/widget/ArrayAdapter; // method@00b7 │ │ -00ab38: 0c00 |0032: move-result-object v0 │ │ -00ab3a: 1401 0900 0901 |0033: const v1, #float 2.5163e-38 // #01090009 │ │ -00ab40: 6e20 b800 1000 |0036: invoke-virtual {v0, v1}, Landroid/widget/ArrayAdapter;.setDropDownViewResource:(I)V // method@00b8 │ │ -00ab46: 5431 7700 |0039: iget-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mType:Landroid/widget/Spinner; // field@0077 │ │ -00ab4a: 6e20 ca00 0100 |003b: invoke-virtual {v1, v0}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@00ca │ │ -00ab50: 5431 7500 |003e: iget-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ -00ab54: 6e20 bc00 3100 |0040: invoke-virtual {v1, v3}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00bc │ │ -00ab5a: 5431 7600 |0043: iget-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mRightButton:Landroid/widget/Button; // field@0076 │ │ -00ab5e: 1402 0300 067f |0045: const v2, #float 1.78117e+38 // #7f060003 │ │ -00ab64: 6e20 ba00 2100 |0048: invoke-virtual {v1, v2}, Landroid/widget/Button;.setText:(I)V // method@00ba │ │ -00ab6a: 0e00 |004b: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=50 │ │ - 0x0003 line=51 │ │ - 0x0009 line=54 │ │ - 0x0014 line=55 │ │ - 0x001f line=56 │ │ - 0x002a line=58 │ │ - 0x0033 line=60 │ │ - 0x0039 line=61 │ │ - 0x003e line=64 │ │ - 0x0043 line=66 │ │ - 0x004b line=67 │ │ - locals : │ │ - 0x0033 - 0x004c reg=0 types Landroid/widget/ArrayAdapter; Landroid/widget/ArrayAdapter; │ │ - 0x0000 - 0x004c reg=3 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ - 0x0000 - 0x004c reg=4 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'onRightButtonPressed' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 7 │ │ - ins : 1 │ │ - outs : 6 │ │ - insns size : 53 16-bit code units │ │ -00ab6c: |[00ab6c] com.google.android.apps.authenticator.EnterKeyActivity.onRightButtonPressed:()V │ │ -00ab7c: 5460 7700 |0000: iget-object v0, v6, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mType:Landroid/widget/Spinner; // field@0077 │ │ -00ab80: 6e10 c900 0000 |0002: invoke-virtual {v0}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00c9 │ │ -00ab86: 0a00 |0005: move-result v0 │ │ -00ab88: 6201 0a00 |0006: sget-object v1, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ -00ab8c: 5411 0b00 |0008: iget-object v1, v1, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.value:Ljava/lang/Integer; // field@000b │ │ -00ab90: 6e10 2b03 0100 |000a: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ -00ab96: 0a01 |000d: move-result v1 │ │ -00ab98: 3310 2400 |000e: if-ne v0, v1, 0032 // +0024 │ │ -00ab9c: 6204 0a00 |0010: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ -00aba0: 1210 |0012: const/4 v0, #int 1 // #1 │ │ -00aba2: 7020 ac01 0600 |0013: invoke-direct {v6, v0}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.validateKeyAndUpdateStatus:(Z)Z // method@01ac │ │ -00aba8: 0a00 |0016: move-result v0 │ │ -00abaa: 3800 1a00 |0017: if-eqz v0, 0031 // +001a │ │ -00abae: 5460 7400 |0019: iget-object v0, v6, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mAccountName:Landroid/widget/EditText; // field@0074 │ │ -00abb2: 6e10 bd00 0000 |001b: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00bd │ │ -00abb8: 0c00 |001e: move-result-object v0 │ │ -00abba: 6e10 3c03 0000 |001f: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@033c │ │ -00abc0: 0c01 |0022: move-result-object v1 │ │ -00abc2: 7010 a601 0600 |0023: invoke-direct {v6}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.getEnteredKey:()Ljava/lang/String; // method@01a6 │ │ -00abc8: 0c02 |0026: move-result-object v2 │ │ -00abca: 1203 |0027: const/4 v3, #int 0 // #0 │ │ -00abcc: 6205 0d00 |0028: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ -00abd0: 0760 |002a: move-object v0, v6 │ │ -00abd2: 7706 7501 0000 |002b: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.saveSecret:(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)Z // method@0175 │ │ -00abd8: 6e10 a401 0600 |002e: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.exitWizard:()V // method@01a4 │ │ -00abde: 0e00 |0031: return-void │ │ -00abe0: 6204 0900 |0032: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -00abe4: 28de |0034: goto 0012 // -0022 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=104 │ │ - 0x0012 line=107 │ │ - 0x0019 line=108 │ │ - 0x002e line=114 │ │ - 0x0031 line=116 │ │ - 0x0032 line=104 │ │ - locals : │ │ - 0x0012 - 0x0032 reg=4 mode Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0000 - 0x0035 reg=6 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ - │ │ - #4 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ - name : 'onTextChanged' │ │ - type : '(Ljava/lang/CharSequence;III)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 5 │ │ - ins : 5 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -00abe8: |[00abe8] com.google.android.apps.authenticator.EnterKeyActivity.onTextChanged:(Ljava/lang/CharSequence;III)V │ │ -00abf8: 0e00 |0000: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=140 │ │ - locals : │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ - 0x0000 - 0x0001 reg=1 arg0 Ljava/lang/CharSequence; │ │ - 0x0000 - 0x0001 reg=2 arg1 I │ │ - 0x0000 - 0x0001 reg=3 arg2 I │ │ - 0x0000 - 0x0001 reg=4 arg3 I │ │ - │ │ - source_file_idx : 127 (EnterKeyActivity.java) │ │ - │ │ -Class #39 header: │ │ +Class #28 header: │ │ class_idx : 128 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ source_file_idx : 145 │ │ static_fields_size : 0 │ │ instance_fields_size: 13 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #39 annotations: │ │ +Class #28 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/FileUtilities; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=9 name="StatStruct" │ │ │ │ -Class #39 - │ │ +Class #28 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;) │ │ @@ -9188,17 +4915,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00abfc: |[00abfc] com.google.android.apps.authenticator.FileUtilities$StatStruct.:()V │ │ -00ac0c: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00ac12: 0e00 |0003: return-void │ │ +00b204: |[00b204] com.google.android.apps.authenticator.FileUtilities$StatStruct.:()V │ │ +00b214: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00b21a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ │ │ Virtual methods - │ │ @@ -9207,120 +4934,122 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 138 16-bit code units │ │ -00ac14: |[00ac14] com.google.android.apps.authenticator.FileUtilities$StatStruct.toString:()Ljava/lang/String; │ │ -00ac24: 2200 f800 |0000: new-instance v0, Ljava/lang/String; // type@00f8 │ │ -00ac28: 1a01 6f02 |0002: const-string v1, "StatStruct{ dev: %d, ino: %d, mode: %o (octal), nlink: %d, uid: %d, gid: %d, rdev: %d, size: %d, blksize: %d, blocks: %d, atime: %d, mtime: %d, ctime: %d } │ │ -" // string@026f │ │ -00ac2c: 1302 0d00 |0004: const/16 v2, #int 13 // #d │ │ -00ac30: 2322 3601 |0006: new-array v2, v2, [Ljava/lang/Object; // type@0136 │ │ -00ac34: 1203 |0008: const/4 v3, #int 0 // #0 │ │ -00ac36: 5264 7c00 |0009: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.dev:I // field@007c │ │ -00ac3a: 7110 3203 0400 |000b: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00ac40: 0c04 |000e: move-result-object v4 │ │ -00ac42: 4d04 0203 |000f: aput-object v4, v2, v3 │ │ -00ac46: 1213 |0011: const/4 v3, #int 1 // #1 │ │ -00ac48: 5264 7e00 |0012: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.ino:I // field@007e │ │ -00ac4c: 7110 3203 0400 |0014: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00ac52: 0c04 |0017: move-result-object v4 │ │ -00ac54: 4d04 0203 |0018: aput-object v4, v2, v3 │ │ -00ac58: 1223 |001a: const/4 v3, #int 2 // #2 │ │ -00ac5a: 5264 7f00 |001b: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.mode:I // field@007f │ │ -00ac5e: 7110 3203 0400 |001d: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00ac64: 0c04 |0020: move-result-object v4 │ │ -00ac66: 4d04 0203 |0021: aput-object v4, v2, v3 │ │ -00ac6a: 1233 |0023: const/4 v3, #int 3 // #3 │ │ -00ac6c: 5264 8100 |0024: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.nlink:I // field@0081 │ │ -00ac70: 7110 3203 0400 |0026: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00ac76: 0c04 |0029: move-result-object v4 │ │ -00ac78: 4d04 0203 |002a: aput-object v4, v2, v3 │ │ -00ac7c: 1243 |002c: const/4 v3, #int 4 // #4 │ │ -00ac7e: 5264 8400 |002d: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.uid:I // field@0084 │ │ -00ac82: 7110 3203 0400 |002f: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00ac88: 0c04 |0032: move-result-object v4 │ │ -00ac8a: 4d04 0203 |0033: aput-object v4, v2, v3 │ │ -00ac8e: 1253 |0035: const/4 v3, #int 5 // #5 │ │ -00ac90: 5264 7d00 |0036: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.gid:I // field@007d │ │ -00ac94: 7110 3203 0400 |0038: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00ac9a: 0c04 |003b: move-result-object v4 │ │ -00ac9c: 4d04 0203 |003c: aput-object v4, v2, v3 │ │ -00aca0: 1263 |003e: const/4 v3, #int 6 // #6 │ │ -00aca2: 5264 8200 |003f: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.rdev:I // field@0082 │ │ -00aca6: 7110 3203 0400 |0041: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00acac: 0c04 |0044: move-result-object v4 │ │ -00acae: 4d04 0203 |0045: aput-object v4, v2, v3 │ │ -00acb2: 1273 |0047: const/4 v3, #int 7 // #7 │ │ -00acb4: 5364 8300 |0048: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.size:J // field@0083 │ │ -00acb8: 7120 3403 5400 |004a: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ -00acbe: 0c04 |004d: move-result-object v4 │ │ -00acc0: 4d04 0203 |004e: aput-object v4, v2, v3 │ │ -00acc4: 1303 0800 |0050: const/16 v3, #int 8 // #8 │ │ -00acc8: 5264 7900 |0052: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.blksize:I // field@0079 │ │ -00accc: 7110 3203 0400 |0054: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00acd2: 0c04 |0057: move-result-object v4 │ │ -00acd4: 4d04 0203 |0058: aput-object v4, v2, v3 │ │ -00acd8: 1303 0900 |005a: const/16 v3, #int 9 // #9 │ │ -00acdc: 5364 7a00 |005c: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.blocks:J // field@007a │ │ -00ace0: 7120 3403 5400 |005e: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ -00ace6: 0c04 |0061: move-result-object v4 │ │ -00ace8: 4d04 0203 |0062: aput-object v4, v2, v3 │ │ -00acec: 1303 0a00 |0064: const/16 v3, #int 10 // #a │ │ -00acf0: 5364 7800 |0066: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.atime:J // field@0078 │ │ -00acf4: 7120 3403 5400 |0068: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ -00acfa: 0c04 |006b: move-result-object v4 │ │ -00acfc: 4d04 0203 |006c: aput-object v4, v2, v3 │ │ -00ad00: 1303 0b00 |006e: const/16 v3, #int 11 // #b │ │ -00ad04: 5364 8000 |0070: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.mtime:J // field@0080 │ │ -00ad08: 7120 3403 5400 |0072: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ -00ad0e: 0c04 |0075: move-result-object v4 │ │ -00ad10: 4d04 0203 |0076: aput-object v4, v2, v3 │ │ -00ad14: 1303 0c00 |0078: const/16 v3, #int 12 // #c │ │ -00ad18: 5364 7b00 |007a: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.ctime:J // field@007b │ │ -00ad1c: 7120 3403 5400 |007c: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ -00ad22: 0c04 |007f: move-result-object v4 │ │ -00ad24: 4d04 0203 |0080: aput-object v4, v2, v3 │ │ -00ad28: 7120 4503 2100 |0082: invoke-static {v1, v2}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ -00ad2e: 0c01 |0085: move-result-object v1 │ │ -00ad30: 7020 4103 1000 |0086: invoke-direct {v0, v1}, Ljava/lang/String;.:(Ljava/lang/String;)V // method@0341 │ │ -00ad36: 1100 |0089: return-object v0 │ │ +00b21c: |[00b21c] com.google.android.apps.authenticator.FileUtilities$StatStruct.toString:()Ljava/lang/String; │ │ +00b22c: 2200 f800 |0000: new-instance v0, Ljava/lang/String; // type@00f8 │ │ +00b230: 1a01 6c02 |0002: const-string v1, "StatStruct{ dev: %d, ino: %d, mode: %o (octal), nlink: %d, uid: %d, gid: %d, rdev: %d, size: %d, blksize: %d, blocks: %d, atime: %d, mtime: %d, ctime: %d } │ │ +" // string@026c │ │ +00b234: 1302 0d00 |0004: const/16 v2, #int 13 // #d │ │ +00b238: 2322 3601 |0006: new-array v2, v2, [Ljava/lang/Object; // type@0136 │ │ +00b23c: 1203 |0008: const/4 v3, #int 0 // #0 │ │ +00b23e: 5264 7c00 |0009: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.dev:I // field@007c │ │ +00b242: 7110 3203 0400 |000b: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b248: 0c04 |000e: move-result-object v4 │ │ +00b24a: 4d04 0203 |000f: aput-object v4, v2, v3 │ │ +00b24e: 1213 |0011: const/4 v3, #int 1 // #1 │ │ +00b250: 5264 7e00 |0012: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.ino:I // field@007e │ │ +00b254: 7110 3203 0400 |0014: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b25a: 0c04 |0017: move-result-object v4 │ │ +00b25c: 4d04 0203 |0018: aput-object v4, v2, v3 │ │ +00b260: 1223 |001a: const/4 v3, #int 2 // #2 │ │ +00b262: 5264 7f00 |001b: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.mode:I // field@007f │ │ +00b266: 7110 3203 0400 |001d: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b26c: 0c04 |0020: move-result-object v4 │ │ +00b26e: 4d04 0203 |0021: aput-object v4, v2, v3 │ │ +00b272: 1233 |0023: const/4 v3, #int 3 // #3 │ │ +00b274: 5264 8100 |0024: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.nlink:I // field@0081 │ │ +00b278: 7110 3203 0400 |0026: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b27e: 0c04 |0029: move-result-object v4 │ │ +00b280: 4d04 0203 |002a: aput-object v4, v2, v3 │ │ +00b284: 1243 |002c: const/4 v3, #int 4 // #4 │ │ +00b286: 5264 8400 |002d: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.uid:I // field@0084 │ │ +00b28a: 7110 3203 0400 |002f: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b290: 0c04 |0032: move-result-object v4 │ │ +00b292: 4d04 0203 |0033: aput-object v4, v2, v3 │ │ +00b296: 1253 |0035: const/4 v3, #int 5 // #5 │ │ +00b298: 5264 7d00 |0036: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.gid:I // field@007d │ │ +00b29c: 7110 3203 0400 |0038: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b2a2: 0c04 |003b: move-result-object v4 │ │ +00b2a4: 4d04 0203 |003c: aput-object v4, v2, v3 │ │ +00b2a8: 1263 |003e: const/4 v3, #int 6 // #6 │ │ +00b2aa: 5264 8200 |003f: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.rdev:I // field@0082 │ │ +00b2ae: 7110 3203 0400 |0041: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b2b4: 0c04 |0044: move-result-object v4 │ │ +00b2b6: 4d04 0203 |0045: aput-object v4, v2, v3 │ │ +00b2ba: 1273 |0047: const/4 v3, #int 7 // #7 │ │ +00b2bc: 5364 8300 |0048: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.size:J // field@0083 │ │ +00b2c0: 7120 3403 5400 |004a: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ +00b2c6: 0c04 |004d: move-result-object v4 │ │ +00b2c8: 4d04 0203 |004e: aput-object v4, v2, v3 │ │ +00b2cc: 1303 0800 |0050: const/16 v3, #int 8 // #8 │ │ +00b2d0: 5264 7900 |0052: iget v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.blksize:I // field@0079 │ │ +00b2d4: 7110 3203 0400 |0054: invoke-static {v4}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b2da: 0c04 |0057: move-result-object v4 │ │ +00b2dc: 4d04 0203 |0058: aput-object v4, v2, v3 │ │ +00b2e0: 1303 0900 |005a: const/16 v3, #int 9 // #9 │ │ +00b2e4: 5364 7a00 |005c: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.blocks:J // field@007a │ │ +00b2e8: 7120 3403 5400 |005e: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ +00b2ee: 0c04 |0061: move-result-object v4 │ │ +00b2f0: 4d04 0203 |0062: aput-object v4, v2, v3 │ │ +00b2f4: 1303 0a00 |0064: const/16 v3, #int 10 // #a │ │ +00b2f8: 5364 7800 |0066: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.atime:J // field@0078 │ │ +00b2fc: 7120 3403 5400 |0068: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ +00b302: 0c04 |006b: move-result-object v4 │ │ +00b304: 4d04 0203 |006c: aput-object v4, v2, v3 │ │ +00b308: 1303 0b00 |006e: const/16 v3, #int 11 // #b │ │ +00b30c: 5364 8000 |0070: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.mtime:J // field@0080 │ │ +00b310: 7120 3403 5400 |0072: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ +00b316: 0c04 |0075: move-result-object v4 │ │ +00b318: 4d04 0203 |0076: aput-object v4, v2, v3 │ │ +00b31c: 1303 0c00 |0078: const/16 v3, #int 12 // #c │ │ +00b320: 5364 7b00 |007a: iget-wide v4, v6, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.ctime:J // field@007b │ │ +00b324: 7120 3403 5400 |007c: invoke-static {v4, v5}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0334 │ │ +00b32a: 0c04 |007f: move-result-object v4 │ │ +00b32c: 4d04 0203 |0080: aput-object v4, v2, v3 │ │ +00b330: 7120 4503 2100 |0082: invoke-static {v1, v2}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ +00b336: 0c01 |0085: move-result-object v1 │ │ +00b338: 7020 4103 1000 |0086: invoke-direct {v0, v1}, Ljava/lang/String;.:(Ljava/lang/String;)V // method@0341 │ │ +00b33e: 1100 |0089: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=119 │ │ + 0x000b line=122 │ │ + 0x0082 line=119 │ │ locals : │ │ 0x0000 - 0x008a reg=6 this Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ │ │ source_file_idx : 145 (FileUtilities.java) │ │ │ │ -Class #40 header: │ │ +Class #29 header: │ │ class_idx : 129 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ source_file_idx : 145 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 5 │ │ virtual_methods_size: 0 │ │ │ │ -Class #40 annotations: │ │ +Class #29 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; } │ │ Annotations on method #432 'getFileStatusInt' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/IllegalArgumentException; Ljava/lang/IllegalAccessException; Ljava/lang/NoSuchFieldException; Ljava/lang/ClassNotFoundException; } │ │ Annotations on method #433 'getFileStatusLong' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/IllegalArgumentException; Ljava/lang/IllegalAccessException; Ljava/lang/NoSuchFieldException; Ljava/lang/ClassNotFoundException; } │ │ Annotations on method #434 'getStat' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/io/IOException; } │ │ Annotations on method #435 'restrictAccessToOwnerOnly' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/io/IOException; } │ │ │ │ -Class #40 - │ │ +Class #29 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/FileUtilities;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ @@ -9329,17 +5058,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00ad38: |[00ad38] com.google.android.apps.authenticator.FileUtilities.:()V │ │ -00ad48: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00ad4e: 0e00 |0003: return-void │ │ +00b340: |[00b340] com.google.android.apps.authenticator.FileUtilities.:()V │ │ +00b350: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00b356: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=29 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/FileUtilities; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/FileUtilities;) │ │ @@ -9347,23 +5076,23 @@ │ │ type : '(Ljava/lang/Object;Ljava/lang/String;)I' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -00ad50: |[00ad50] com.google.android.apps.authenticator.FileUtilities.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I │ │ -00ad60: 1a00 1c03 |0000: const-string v0, "android.os.FileUtils$FileStatus" // string@031c │ │ -00ad64: 7110 1603 0000 |0002: invoke-static {v0}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ -00ad6a: 0c00 |0005: move-result-object v0 │ │ -00ad6c: 6e20 1703 2000 |0006: invoke-virtual {v0, v2}, Ljava/lang/Class;.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field; // method@0317 │ │ -00ad72: 0c00 |0009: move-result-object v0 │ │ -00ad74: 6e20 5e03 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;.getInt:(Ljava/lang/Object;)I // method@035e │ │ -00ad7a: 0a00 |000d: move-result v0 │ │ -00ad7c: 0f00 |000e: return v0 │ │ +00b358: |[00b358] com.google.android.apps.authenticator.FileUtilities.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I │ │ +00b368: 1a00 1903 |0000: const-string v0, "android.os.FileUtils$FileStatus" // string@0319 │ │ +00b36c: 7110 1603 0000 |0002: invoke-static {v0}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ +00b372: 0c00 |0005: move-result-object v0 │ │ +00b374: 6e20 1703 2000 |0006: invoke-virtual {v0, v2}, Ljava/lang/Class;.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field; // method@0317 │ │ +00b37a: 0c00 |0009: move-result-object v0 │ │ +00b37c: 6e20 5e03 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;.getInt:(Ljava/lang/Object;)I // method@035e │ │ +00b382: 0a00 |000d: move-result v0 │ │ +00b384: 0f00 |000e: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x000f reg=1 obj Ljava/lang/Object; │ │ 0x0000 - 0x000f reg=2 field Ljava/lang/String; │ │ │ │ @@ -9372,23 +5101,23 @@ │ │ type : '(Ljava/lang/Object;Ljava/lang/String;)J' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -00ad80: |[00ad80] com.google.android.apps.authenticator.FileUtilities.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J │ │ -00ad90: 1a00 1c03 |0000: const-string v0, "android.os.FileUtils$FileStatus" // string@031c │ │ -00ad94: 7110 1603 0000 |0002: invoke-static {v0}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ -00ad9a: 0c00 |0005: move-result-object v0 │ │ -00ad9c: 6e20 1703 3000 |0006: invoke-virtual {v0, v3}, Ljava/lang/Class;.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field; // method@0317 │ │ -00ada2: 0c00 |0009: move-result-object v0 │ │ -00ada4: 6e20 5f03 2000 |000a: invoke-virtual {v0, v2}, Ljava/lang/reflect/Field;.getLong:(Ljava/lang/Object;)J // method@035f │ │ -00adaa: 0b00 |000d: move-result-wide v0 │ │ -00adac: 1000 |000e: return-wide v0 │ │ +00b388: |[00b388] com.google.android.apps.authenticator.FileUtilities.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J │ │ +00b398: 1a00 1903 |0000: const-string v0, "android.os.FileUtils$FileStatus" // string@0319 │ │ +00b39c: 7110 1603 0000 |0002: invoke-static {v0}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ +00b3a2: 0c00 |0005: move-result-object v0 │ │ +00b3a4: 6e20 1703 3000 |0006: invoke-virtual {v0, v3}, Ljava/lang/Class;.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field; // method@0317 │ │ +00b3aa: 0c00 |0009: move-result-object v0 │ │ +00b3ac: 6e20 5f03 2000 |000a: invoke-virtual {v0, v2}, Ljava/lang/reflect/Field;.getLong:(Ljava/lang/Object;)J // method@035f │ │ +00b3b2: 0b00 |000d: move-result-wide v0 │ │ +00b3b4: 1000 |000e: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=99 │ │ locals : │ │ 0x0000 - 0x000f reg=2 obj Ljava/lang/Object; │ │ 0x0000 - 0x000f reg=3 field Ljava/lang/String; │ │ │ │ @@ -9397,127 +5126,131 @@ │ │ type : '(Ljava/lang/String;)Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 205 16-bit code units │ │ -00adb0: |[00adb0] com.google.android.apps.authenticator.FileUtilities.getStat:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ -00adc0: 1a04 1c03 |0000: const-string v4, "android.os.FileUtils$FileStatus" // string@031c │ │ -00adc4: 7110 1603 0400 |0002: invoke-static {v4}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ -00adca: 0c04 |0005: move-result-object v4 │ │ -00adcc: 6e10 1c03 0400 |0006: invoke-virtual {v4}, Ljava/lang/Class;.newInstance:()Ljava/lang/Object; // method@031c │ │ -00add2: 0c01 |0009: move-result-object v1 │ │ -00add4: 1a04 1b03 |000a: const-string v4, "android.os.FileUtils" // string@031b │ │ -00add8: 7110 1603 0400 |000c: invoke-static {v4}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ -00adde: 0c04 |000f: move-result-object v4 │ │ -00ade0: 1a05 3a04 |0010: const-string v5, "getFileStatus" // string@043a │ │ -00ade4: 1226 |0012: const/4 v6, #int 2 // #2 │ │ -00ade6: 2366 3501 |0013: new-array v6, v6, [Ljava/lang/Class; // type@0135 │ │ -00adea: 1207 |0015: const/4 v7, #int 0 // #0 │ │ -00adec: 1c08 f800 |0016: const-class v8, Ljava/lang/String; // type@00f8 │ │ -00adf0: 4d08 0607 |0018: aput-object v8, v6, v7 │ │ -00adf4: 1217 |001a: const/4 v7, #int 1 // #1 │ │ -00adf6: 1a08 1c03 |001b: const-string v8, "android.os.FileUtils$FileStatus" // string@031c │ │ -00adfa: 7110 1603 0800 |001d: invoke-static {v8}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ -00ae00: 0c08 |0020: move-result-object v8 │ │ -00ae02: 4d08 0607 |0021: aput-object v8, v6, v7 │ │ -00ae06: 6e30 1803 5406 |0023: invoke-virtual {v4, v5, v6}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0318 │ │ -00ae0c: 0c04 |0026: move-result-object v4 │ │ -00ae0e: 1205 |0027: const/4 v5, #int 0 // #0 │ │ -00ae10: 1226 |0028: const/4 v6, #int 2 // #2 │ │ -00ae12: 2366 3601 |0029: new-array v6, v6, [Ljava/lang/Object; // type@0136 │ │ -00ae16: 1207 |002b: const/4 v7, #int 0 // #0 │ │ -00ae18: 4d09 0607 |002c: aput-object v9, v6, v7 │ │ -00ae1c: 1217 |002e: const/4 v7, #int 1 // #1 │ │ -00ae1e: 4d01 0607 |002f: aput-object v1, v6, v7 │ │ -00ae22: 6e30 6003 5406 |0031: invoke-virtual {v4, v5, v6}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@0360 │ │ -00ae28: 0c04 |0034: move-result-object v4 │ │ -00ae2a: 1f04 de00 |0035: check-cast v4, Ljava/lang/Boolean; // type@00de │ │ -00ae2e: 6e10 1203 0400 |0037: invoke-virtual {v4}, Ljava/lang/Boolean;.booleanValue:()Z // method@0312 │ │ -00ae34: 0a03 |003a: move-result v3 │ │ -00ae36: 3803 7000 |003b: if-eqz v3, 00ab // +0070 │ │ -00ae3a: 2202 8000 |003d: new-instance v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; // type@0080 │ │ -00ae3e: 7010 ad01 0200 |003f: invoke-direct {v2}, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.:()V // method@01ad │ │ -00ae44: 1a04 c703 |0042: const-string v4, "dev" // string@03c7 │ │ -00ae48: 7120 b001 4100 |0044: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ -00ae4e: 0a04 |0047: move-result v4 │ │ -00ae50: 5924 7c00 |0048: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.dev:I // field@007c │ │ -00ae54: 1a04 be04 |004a: const-string v4, "ino" // string@04be │ │ -00ae58: 7120 b001 4100 |004c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ -00ae5e: 0a04 |004f: move-result v4 │ │ -00ae60: 5924 7e00 |0050: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.ino:I // field@007e │ │ -00ae64: 1a04 3505 |0052: const-string v4, "mode" // string@0535 │ │ -00ae68: 7120 b001 4100 |0054: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ -00ae6e: 0a04 |0057: move-result v4 │ │ -00ae70: 5924 7f00 |0058: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.mode:I // field@007f │ │ -00ae74: 1a04 4e05 |005a: const-string v4, "nlink" // string@054e │ │ -00ae78: 7120 b001 4100 |005c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ -00ae7e: 0a04 |005f: move-result v4 │ │ -00ae80: 5924 8100 |0060: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.nlink:I // field@0081 │ │ -00ae84: 1a04 b706 |0062: const-string v4, "uid" // string@06b7 │ │ -00ae88: 7120 b001 4100 |0064: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ -00ae8e: 0a04 |0067: move-result v4 │ │ -00ae90: 5924 8400 |0068: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.uid:I // field@0084 │ │ -00ae94: 1a04 8a04 |006a: const-string v4, "gid" // string@048a │ │ -00ae98: 7120 b001 4100 |006c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ -00ae9e: 0a04 |006f: move-result v4 │ │ -00aea0: 5924 7d00 |0070: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.gid:I // field@007d │ │ -00aea4: 1a04 d005 |0072: const-string v4, "rdev" // string@05d0 │ │ -00aea8: 7120 b001 4100 |0074: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ -00aeae: 0a04 |0077: move-result v4 │ │ -00aeb0: 5924 8200 |0078: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.rdev:I // field@0082 │ │ -00aeb4: 1a04 6806 |007a: const-string v4, "size" // string@0668 │ │ -00aeb8: 7120 b101 4100 |007c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ -00aebe: 0b04 |007f: move-result-wide v4 │ │ -00aec0: 5a24 8300 |0080: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.size:J // field@0083 │ │ -00aec4: 1a04 3a03 |0082: const-string v4, "blksize" // string@033a │ │ -00aec8: 7120 b001 4100 |0084: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ -00aece: 0a04 |0087: move-result v4 │ │ -00aed0: 5924 7900 |0088: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.blksize:I // field@0079 │ │ -00aed4: 1a04 3b03 |008a: const-string v4, "blocks" // string@033b │ │ -00aed8: 7120 b101 4100 |008c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ -00aede: 0b04 |008f: move-result-wide v4 │ │ -00aee0: 5a24 7a00 |0090: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.blocks:J // field@007a │ │ -00aee4: 1a04 2d03 |0092: const-string v4, "atime" // string@032d │ │ -00aee8: 7120 b101 4100 |0094: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ -00aeee: 0b04 |0097: move-result-wide v4 │ │ -00aef0: 5a24 7800 |0098: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.atime:J // field@0078 │ │ -00aef4: 1a04 3905 |009a: const-string v4, "mtime" // string@0539 │ │ -00aef8: 7120 b101 4100 |009c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ -00aefe: 0b04 |009f: move-result-wide v4 │ │ -00af00: 5a24 8000 |00a0: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.mtime:J // field@0080 │ │ -00af04: 1a04 a703 |00a2: const-string v4, "ctime" // string@03a7 │ │ -00af08: 7120 b101 4100 |00a4: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ -00af0e: 0b04 |00a7: move-result-wide v4 │ │ -00af10: 5a24 7b00 |00a8: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.ctime:J // field@007b │ │ -00af14: 1102 |00aa: return-object v2 │ │ -00af16: 2204 da00 |00ab: new-instance v4, Ljava/io/IOException; // type@00da │ │ -00af1a: 1a05 9200 |00ad: const-string v5, "FileUtils.getFileStatus returned with failure." // string@0092 │ │ -00af1e: 7020 1103 5400 |00af: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ -00af24: 2704 |00b2: throw v4 │ │ -00af26: 0d00 |00b3: move-exception v0 │ │ -00af28: 2204 da00 |00b4: new-instance v4, Ljava/io/IOException; // type@00da │ │ -00af2c: 2205 f900 |00b6: new-instance v5, Ljava/lang/StringBuilder; // type@00f9 │ │ -00af30: 7010 5303 0500 |00b8: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00af36: 1a06 8800 |00bb: const-string v6, "Failed to get FileStatus: " // string@0088 │ │ -00af3a: 6e20 5a03 6500 |00bd: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00af40: 0c05 |00c0: move-result-object v5 │ │ -00af42: 6e20 5903 0500 |00c1: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00af48: 0c05 |00c4: move-result-object v5 │ │ -00af4a: 6e10 5b03 0500 |00c5: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00af50: 0c05 |00c8: move-result-object v5 │ │ -00af52: 7020 1103 5400 |00c9: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ -00af58: 2704 |00cc: throw v4 │ │ +00b3b8: |[00b3b8] com.google.android.apps.authenticator.FileUtilities.getStat:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ +00b3c8: 1a04 1903 |0000: const-string v4, "android.os.FileUtils$FileStatus" // string@0319 │ │ +00b3cc: 7110 1603 0400 |0002: invoke-static {v4}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ +00b3d2: 0c04 |0005: move-result-object v4 │ │ +00b3d4: 6e10 1c03 0400 |0006: invoke-virtual {v4}, Ljava/lang/Class;.newInstance:()Ljava/lang/Object; // method@031c │ │ +00b3da: 0c01 |0009: move-result-object v1 │ │ +00b3dc: 1a04 1803 |000a: const-string v4, "android.os.FileUtils" // string@0318 │ │ +00b3e0: 7110 1603 0400 |000c: invoke-static {v4}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ +00b3e6: 0c04 |000f: move-result-object v4 │ │ +00b3e8: 1a05 3604 |0010: const-string v5, "getFileStatus" // string@0436 │ │ +00b3ec: 1226 |0012: const/4 v6, #int 2 // #2 │ │ +00b3ee: 2366 3501 |0013: new-array v6, v6, [Ljava/lang/Class; // type@0135 │ │ +00b3f2: 1207 |0015: const/4 v7, #int 0 // #0 │ │ +00b3f4: 1c08 f800 |0016: const-class v8, Ljava/lang/String; // type@00f8 │ │ +00b3f8: 4d08 0607 |0018: aput-object v8, v6, v7 │ │ +00b3fc: 1217 |001a: const/4 v7, #int 1 // #1 │ │ +00b3fe: 1a08 1903 |001b: const-string v8, "android.os.FileUtils$FileStatus" // string@0319 │ │ +00b402: 7110 1603 0800 |001d: invoke-static {v8}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ +00b408: 0c08 |0020: move-result-object v8 │ │ +00b40a: 4d08 0607 |0021: aput-object v8, v6, v7 │ │ +00b40e: 6e30 1803 5406 |0023: invoke-virtual {v4, v5, v6}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0318 │ │ +00b414: 0c04 |0026: move-result-object v4 │ │ +00b416: 1205 |0027: const/4 v5, #int 0 // #0 │ │ +00b418: 1226 |0028: const/4 v6, #int 2 // #2 │ │ +00b41a: 2366 3601 |0029: new-array v6, v6, [Ljava/lang/Object; // type@0136 │ │ +00b41e: 1207 |002b: const/4 v7, #int 0 // #0 │ │ +00b420: 4d09 0607 |002c: aput-object v9, v6, v7 │ │ +00b424: 1217 |002e: const/4 v7, #int 1 // #1 │ │ +00b426: 4d01 0607 |002f: aput-object v1, v6, v7 │ │ +00b42a: 6e30 6003 5406 |0031: invoke-virtual {v4, v5, v6}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@0360 │ │ +00b430: 0c04 |0034: move-result-object v4 │ │ +00b432: 1f04 de00 |0035: check-cast v4, Ljava/lang/Boolean; // type@00de │ │ +00b436: 6e10 1203 0400 |0037: invoke-virtual {v4}, Ljava/lang/Boolean;.booleanValue:()Z // method@0312 │ │ +00b43c: 0a03 |003a: move-result v3 │ │ +00b43e: 3803 7000 |003b: if-eqz v3, 00ab // +0070 │ │ +00b442: 2202 8000 |003d: new-instance v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; // type@0080 │ │ +00b446: 7010 ad01 0200 |003f: invoke-direct {v2}, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.:()V // method@01ad │ │ +00b44c: 1a04 c303 |0042: const-string v4, "dev" // string@03c3 │ │ +00b450: 7120 b001 4100 |0044: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ +00b456: 0a04 |0047: move-result v4 │ │ +00b458: 5924 7c00 |0048: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.dev:I // field@007c │ │ +00b45c: 1a04 b904 |004a: const-string v4, "ino" // string@04b9 │ │ +00b460: 7120 b001 4100 |004c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ +00b466: 0a04 |004f: move-result v4 │ │ +00b468: 5924 7e00 |0050: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.ino:I // field@007e │ │ +00b46c: 1a04 2f05 |0052: const-string v4, "mode" // string@052f │ │ +00b470: 7120 b001 4100 |0054: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ +00b476: 0a04 |0057: move-result v4 │ │ +00b478: 5924 7f00 |0058: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.mode:I // field@007f │ │ +00b47c: 1a04 4805 |005a: const-string v4, "nlink" // string@0548 │ │ +00b480: 7120 b001 4100 |005c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ +00b486: 0a04 |005f: move-result v4 │ │ +00b488: 5924 8100 |0060: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.nlink:I // field@0081 │ │ +00b48c: 1a04 b106 |0062: const-string v4, "uid" // string@06b1 │ │ +00b490: 7120 b001 4100 |0064: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ +00b496: 0a04 |0067: move-result v4 │ │ +00b498: 5924 8400 |0068: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.uid:I // field@0084 │ │ +00b49c: 1a04 8604 |006a: const-string v4, "gid" // string@0486 │ │ +00b4a0: 7120 b001 4100 |006c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ +00b4a6: 0a04 |006f: move-result v4 │ │ +00b4a8: 5924 7d00 |0070: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.gid:I // field@007d │ │ +00b4ac: 1a04 ca05 |0072: const-string v4, "rdev" // string@05ca │ │ +00b4b0: 7120 b001 4100 |0074: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ +00b4b6: 0a04 |0077: move-result v4 │ │ +00b4b8: 5924 8200 |0078: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.rdev:I // field@0082 │ │ +00b4bc: 1a04 6206 |007a: const-string v4, "size" // string@0662 │ │ +00b4c0: 7120 b101 4100 |007c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ +00b4c6: 0b04 |007f: move-result-wide v4 │ │ +00b4c8: 5a24 8300 |0080: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.size:J // field@0083 │ │ +00b4cc: 1a04 3603 |0082: const-string v4, "blksize" // string@0336 │ │ +00b4d0: 7120 b001 4100 |0084: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusInt:(Ljava/lang/Object;Ljava/lang/String;)I // method@01b0 │ │ +00b4d6: 0a04 |0087: move-result v4 │ │ +00b4d8: 5924 7900 |0088: iput v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.blksize:I // field@0079 │ │ +00b4dc: 1a04 3703 |008a: const-string v4, "blocks" // string@0337 │ │ +00b4e0: 7120 b101 4100 |008c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ +00b4e6: 0b04 |008f: move-result-wide v4 │ │ +00b4e8: 5a24 7a00 |0090: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.blocks:J // field@007a │ │ +00b4ec: 1a04 2903 |0092: const-string v4, "atime" // string@0329 │ │ +00b4f0: 7120 b101 4100 |0094: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ +00b4f6: 0b04 |0097: move-result-wide v4 │ │ +00b4f8: 5a24 7800 |0098: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.atime:J // field@0078 │ │ +00b4fc: 1a04 3305 |009a: const-string v4, "mtime" // string@0533 │ │ +00b500: 7120 b101 4100 |009c: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ +00b506: 0b04 |009f: move-result-wide v4 │ │ +00b508: 5a24 8000 |00a0: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.mtime:J // field@0080 │ │ +00b50c: 1a04 a303 |00a2: const-string v4, "ctime" // string@03a3 │ │ +00b510: 7120 b101 4100 |00a4: invoke-static {v1, v4}, Lcom/google/android/apps/authenticator/FileUtilities;.getFileStatusLong:(Ljava/lang/Object;Ljava/lang/String;)J // method@01b1 │ │ +00b516: 0b04 |00a7: move-result-wide v4 │ │ +00b518: 5a24 7b00 |00a8: iput-wide v4, v2, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;.ctime:J // field@007b │ │ +00b51c: 1102 |00aa: return-object v2 │ │ +00b51e: 2204 da00 |00ab: new-instance v4, Ljava/io/IOException; // type@00da │ │ +00b522: 1a05 9200 |00ad: const-string v5, "FileUtils.getFileStatus returned with failure." // string@0092 │ │ +00b526: 7020 1103 5400 |00af: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ +00b52c: 2704 |00b2: throw v4 │ │ +00b52e: 0d00 |00b3: move-exception v0 │ │ +00b530: 2204 da00 |00b4: new-instance v4, Ljava/io/IOException; // type@00da │ │ +00b534: 2205 f900 |00b6: new-instance v5, Ljava/lang/StringBuilder; // type@00f9 │ │ +00b538: 7010 5303 0500 |00b8: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00b53e: 1a06 8800 |00bb: const-string v6, "Failed to get FileStatus: " // string@0088 │ │ +00b542: 6e20 5a03 6500 |00bd: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b548: 0c05 |00c0: move-result-object v5 │ │ +00b54a: 6e20 5903 0500 |00c1: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00b550: 0c05 |00c4: move-result-object v5 │ │ +00b552: 6e10 5b03 0500 |00c5: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00b558: 0c05 |00c8: move-result-object v5 │ │ +00b55a: 7020 1103 5400 |00c9: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ +00b560: 2704 |00cc: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x00b3 │ │ Ljava/lang/Exception; -> 0x00b3 │ │ positions : │ │ 0x0000 line=61 │ │ 0x000a line=62 │ │ + 0x001d line=64 │ │ + 0x0023 line=63 │ │ + 0x0031 line=65 │ │ + 0x0037 line=62 │ │ 0x003b line=66 │ │ 0x003d line=67 │ │ 0x0042 line=68 │ │ 0x004a line=69 │ │ 0x0052 line=70 │ │ 0x005a line=71 │ │ 0x0062 line=72 │ │ @@ -9545,117 +5278,120 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 131 16-bit code units │ │ -00af6c: |[00af6c] com.google.android.apps.authenticator.FileUtilities.restrictAccessToOwnerOnly:(Ljava/lang/String;)V │ │ -00af7c: 1a02 1b03 |0000: const-string v2, "android.os.FileUtils" // string@031b │ │ -00af80: 7110 1603 0200 |0002: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ -00af86: 0c02 |0005: move-result-object v2 │ │ -00af88: 1a03 4206 |0006: const-string v3, "setPermissions" // string@0642 │ │ -00af8c: 1244 |0008: const/4 v4, #int 4 // #4 │ │ -00af8e: 2344 3501 |0009: new-array v4, v4, [Ljava/lang/Class; // type@0135 │ │ -00af92: 1205 |000b: const/4 v5, #int 0 // #0 │ │ -00af94: 1c06 f800 |000c: const-class v6, Ljava/lang/String; // type@00f8 │ │ -00af98: 4d06 0405 |000e: aput-object v6, v4, v5 │ │ -00af9c: 1215 |0010: const/4 v5, #int 1 // #1 │ │ -00af9e: 6206 c401 |0011: sget-object v6, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@01c4 │ │ -00afa2: 4d06 0405 |0013: aput-object v6, v4, v5 │ │ -00afa6: 1225 |0015: const/4 v5, #int 2 // #2 │ │ -00afa8: 6206 c401 |0016: sget-object v6, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@01c4 │ │ -00afac: 4d06 0405 |0018: aput-object v6, v4, v5 │ │ -00afb0: 1235 |001a: const/4 v5, #int 3 // #3 │ │ -00afb2: 6206 c401 |001b: sget-object v6, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@01c4 │ │ -00afb6: 4d06 0405 |001d: aput-object v6, v4, v5 │ │ -00afba: 6e30 1803 3204 |001f: invoke-virtual {v2, v3, v4}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0318 │ │ -00afc0: 0c02 |0022: move-result-object v2 │ │ -00afc2: 1203 |0023: const/4 v3, #int 0 // #0 │ │ -00afc4: 1244 |0024: const/4 v4, #int 4 // #4 │ │ -00afc6: 2344 3601 |0025: new-array v4, v4, [Ljava/lang/Object; // type@0136 │ │ -00afca: 1205 |0027: const/4 v5, #int 0 // #0 │ │ -00afcc: 4d07 0405 |0028: aput-object v7, v4, v5 │ │ -00afd0: 1215 |002a: const/4 v5, #int 1 // #1 │ │ -00afd2: 1306 c001 |002b: const/16 v6, #int 448 // #1c0 │ │ -00afd6: 7110 3203 0600 |002d: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00afdc: 0c06 |0030: move-result-object v6 │ │ -00afde: 4d06 0405 |0031: aput-object v6, v4, v5 │ │ -00afe2: 1225 |0033: const/4 v5, #int 2 // #2 │ │ -00afe4: 12f6 |0034: const/4 v6, #int -1 // #ff │ │ -00afe6: 7110 3203 0600 |0035: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00afec: 0c06 |0038: move-result-object v6 │ │ -00afee: 4d06 0405 |0039: aput-object v6, v4, v5 │ │ -00aff2: 1235 |003b: const/4 v5, #int 3 // #3 │ │ -00aff4: 12f6 |003c: const/4 v6, #int -1 // #ff │ │ -00aff6: 7110 3203 0600 |003d: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00affc: 0c06 |0040: move-result-object v6 │ │ -00affe: 4d06 0405 |0041: aput-object v6, v4, v5 │ │ -00b002: 6e30 6003 3204 |0043: invoke-virtual {v2, v3, v4}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@0360 │ │ -00b008: 0c02 |0046: move-result-object v2 │ │ -00b00a: 1f02 eb00 |0047: check-cast v2, Ljava/lang/Integer; // type@00eb │ │ -00b00e: 6e10 2b03 0200 |0049: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ -00b014: 0a01 |004c: move-result v1 │ │ -00b016: 3801 3500 |004d: if-eqz v1, 0082 // +0035 │ │ -00b01a: 2202 da00 |004f: new-instance v2, Ljava/io/IOException; // type@00da │ │ -00b01e: 2203 f900 |0051: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -00b022: 7010 5303 0300 |0053: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00b028: 1a04 9300 |0056: const-string v4, "FileUtils.setPermissions failed with error code " // string@0093 │ │ -00b02c: 6e20 5a03 4300 |0058: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00b032: 0c03 |005b: move-result-object v3 │ │ -00b034: 6e20 5703 1300 |005c: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ -00b03a: 0c03 |005f: move-result-object v3 │ │ -00b03c: 6e10 5b03 0300 |0060: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00b042: 0c03 |0063: move-result-object v3 │ │ -00b044: 7020 1103 3200 |0064: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ -00b04a: 2702 |0067: throw v2 │ │ -00b04c: 0d00 |0068: move-exception v0 │ │ -00b04e: 2202 da00 |0069: new-instance v2, Ljava/io/IOException; // type@00da │ │ -00b052: 2203 f900 |006b: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -00b056: 7010 5303 0300 |006d: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00b05c: 1a04 8f00 |0070: const-string v4, "Failed to set permissions: " // string@008f │ │ -00b060: 6e20 5a03 4300 |0072: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00b066: 0c03 |0075: move-result-object v3 │ │ -00b068: 6e20 5903 0300 |0076: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00b06e: 0c03 |0079: move-result-object v3 │ │ -00b070: 6e10 5b03 0300 |007a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00b076: 0c03 |007d: move-result-object v3 │ │ -00b078: 7020 1103 3200 |007e: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ -00b07e: 2702 |0081: throw v2 │ │ -00b080: 0e00 |0082: return-void │ │ +00b574: |[00b574] com.google.android.apps.authenticator.FileUtilities.restrictAccessToOwnerOnly:(Ljava/lang/String;)V │ │ +00b584: 1a02 1803 |0000: const-string v2, "android.os.FileUtils" // string@0318 │ │ +00b588: 7110 1603 0200 |0002: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ +00b58e: 0c02 |0005: move-result-object v2 │ │ +00b590: 1a03 3c06 |0006: const-string v3, "setPermissions" // string@063c │ │ +00b594: 1244 |0008: const/4 v4, #int 4 // #4 │ │ +00b596: 2344 3501 |0009: new-array v4, v4, [Ljava/lang/Class; // type@0135 │ │ +00b59a: 1205 |000b: const/4 v5, #int 0 // #0 │ │ +00b59c: 1c06 f800 |000c: const-class v6, Ljava/lang/String; // type@00f8 │ │ +00b5a0: 4d06 0405 |000e: aput-object v6, v4, v5 │ │ +00b5a4: 1215 |0010: const/4 v5, #int 1 // #1 │ │ +00b5a6: 6206 c401 |0011: sget-object v6, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@01c4 │ │ +00b5aa: 4d06 0405 |0013: aput-object v6, v4, v5 │ │ +00b5ae: 1225 |0015: const/4 v5, #int 2 // #2 │ │ +00b5b0: 6206 c401 |0016: sget-object v6, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@01c4 │ │ +00b5b4: 4d06 0405 |0018: aput-object v6, v4, v5 │ │ +00b5b8: 1235 |001a: const/4 v5, #int 3 // #3 │ │ +00b5ba: 6206 c401 |001b: sget-object v6, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@01c4 │ │ +00b5be: 4d06 0405 |001d: aput-object v6, v4, v5 │ │ +00b5c2: 6e30 1803 3204 |001f: invoke-virtual {v2, v3, v4}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0318 │ │ +00b5c8: 0c02 |0022: move-result-object v2 │ │ +00b5ca: 1203 |0023: const/4 v3, #int 0 // #0 │ │ +00b5cc: 1244 |0024: const/4 v4, #int 4 // #4 │ │ +00b5ce: 2344 3601 |0025: new-array v4, v4, [Ljava/lang/Object; // type@0136 │ │ +00b5d2: 1205 |0027: const/4 v5, #int 0 // #0 │ │ +00b5d4: 4d07 0405 |0028: aput-object v7, v4, v5 │ │ +00b5d8: 1215 |002a: const/4 v5, #int 1 // #1 │ │ +00b5da: 1306 c001 |002b: const/16 v6, #int 448 // #1c0 │ │ +00b5de: 7110 3203 0600 |002d: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b5e4: 0c06 |0030: move-result-object v6 │ │ +00b5e6: 4d06 0405 |0031: aput-object v6, v4, v5 │ │ +00b5ea: 1225 |0033: const/4 v5, #int 2 // #2 │ │ +00b5ec: 12f6 |0034: const/4 v6, #int -1 // #ff │ │ +00b5ee: 7110 3203 0600 |0035: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b5f4: 0c06 |0038: move-result-object v6 │ │ +00b5f6: 4d06 0405 |0039: aput-object v6, v4, v5 │ │ +00b5fa: 1235 |003b: const/4 v5, #int 3 // #3 │ │ +00b5fc: 12f6 |003c: const/4 v6, #int -1 // #ff │ │ +00b5fe: 7110 3203 0600 |003d: invoke-static {v6}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00b604: 0c06 |0040: move-result-object v6 │ │ +00b606: 4d06 0405 |0041: aput-object v6, v4, v5 │ │ +00b60a: 6e30 6003 3204 |0043: invoke-virtual {v2, v3, v4}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@0360 │ │ +00b610: 0c02 |0046: move-result-object v2 │ │ +00b612: 1f02 eb00 |0047: check-cast v2, Ljava/lang/Integer; // type@00eb │ │ +00b616: 6e10 2b03 0200 |0049: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ +00b61c: 0a01 |004c: move-result v1 │ │ +00b61e: 3801 3500 |004d: if-eqz v1, 0082 // +0035 │ │ +00b622: 2202 da00 |004f: new-instance v2, Ljava/io/IOException; // type@00da │ │ +00b626: 2203 f900 |0051: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +00b62a: 7010 5303 0300 |0053: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00b630: 1a04 9300 |0056: const-string v4, "FileUtils.setPermissions failed with error code " // string@0093 │ │ +00b634: 6e20 5a03 4300 |0058: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b63a: 0c03 |005b: move-result-object v3 │ │ +00b63c: 6e20 5703 1300 |005c: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ +00b642: 0c03 |005f: move-result-object v3 │ │ +00b644: 6e10 5b03 0300 |0060: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00b64a: 0c03 |0063: move-result-object v3 │ │ +00b64c: 7020 1103 3200 |0064: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ +00b652: 2702 |0067: throw v2 │ │ +00b654: 0d00 |0068: move-exception v0 │ │ +00b656: 2202 da00 |0069: new-instance v2, Ljava/io/IOException; // type@00da │ │ +00b65a: 2203 f900 |006b: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +00b65e: 7010 5303 0300 |006d: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00b664: 1a04 8f00 |0070: const-string v4, "Failed to set permissions: " // string@008f │ │ +00b668: 6e20 5a03 4300 |0072: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b66e: 0c03 |0075: move-result-object v3 │ │ +00b670: 6e20 5903 0300 |0076: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00b676: 0c03 |0079: move-result-object v3 │ │ +00b678: 6e10 5b03 0300 |007a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00b67e: 0c03 |007d: move-result-object v3 │ │ +00b680: 7020 1103 3200 |007e: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ +00b686: 2702 |0081: throw v2 │ │ +00b688: 0e00 |0082: return-void │ │ catches : 1 │ │ 0x0000 - 0x004c │ │ Ljava/lang/Exception; -> 0x0068 │ │ positions : │ │ 0x0000 line=41 │ │ + 0x001f line=42 │ │ + 0x002d line=43 │ │ + 0x0049 line=41 │ │ 0x004d line=49 │ │ 0x004f line=50 │ │ 0x0068 line=44 │ │ 0x0069 line=47 │ │ 0x0082 line=52 │ │ locals : │ │ 0x004d - 0x0068 reg=1 errorCode I │ │ 0x0069 - 0x0082 reg=0 e Ljava/lang/Exception; │ │ 0x0082 - 0x0083 reg=1 errorCode I │ │ 0x0000 - 0x0083 reg=7 path Ljava/lang/String; │ │ │ │ Virtual methods - │ │ source_file_idx : 145 (FileUtilities.java) │ │ │ │ -Class #41 header: │ │ +Class #30 header: │ │ class_idx : 130 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ source_file_idx : 156 │ │ static_fields_size : 1 │ │ instance_fields_size: 0 │ │ direct_methods_size : 5 │ │ virtual_methods_size: 0 │ │ │ │ -Class #41 - │ │ +Class #30 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/HexEncoding;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/HexEncoding;) │ │ name : 'HEX_DIGITS' │ │ @@ -9668,37 +5404,37 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00b094: |[00b094] com.google.android.apps.authenticator.HexEncoding.:()V │ │ -00b0a4: 1a00 1e00 |0000: const-string v0, "0123456789abcdef" // string@001e │ │ -00b0a8: 6e10 4d03 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.toCharArray:()[C // method@034d │ │ -00b0ae: 0c00 |0005: move-result-object v0 │ │ -00b0b0: 6900 8500 |0006: sput-object v0, Lcom/google/android/apps/authenticator/HexEncoding;.HEX_DIGITS:[C // field@0085 │ │ -00b0b4: 0e00 |0008: return-void │ │ +00b69c: |[00b69c] com.google.android.apps.authenticator.HexEncoding.:()V │ │ +00b6ac: 1a00 1e00 |0000: const-string v0, "0123456789abcdef" // string@001e │ │ +00b6b0: 6e10 4d03 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.toCharArray:()[C // method@034d │ │ +00b6b6: 0c00 |0005: move-result-object v0 │ │ +00b6b8: 6900 8500 |0006: sput-object v0, Lcom/google/android/apps/authenticator/HexEncoding;.HEX_DIGITS:[C // field@0085 │ │ +00b6bc: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=29 │ │ locals : │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/HexEncoding;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00b0b8: |[00b0b8] com.google.android.apps.authenticator.HexEncoding.:()V │ │ -00b0c8: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00b0ce: 0e00 |0003: return-void │ │ +00b6c0: |[00b6c0] com.google.android.apps.authenticator.HexEncoding.:()V │ │ +00b6d0: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00b6d6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=27 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/HexEncoding; │ │ │ │ #2 : (in Lcom/google/android/apps/authenticator/HexEncoding;) │ │ @@ -9706,68 +5442,70 @@ │ │ type : '(Ljava/lang/String;)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 74 16-bit code units │ │ -00b0d0: |[00b0d0] com.google.android.apps.authenticator.HexEncoding.decode:(Ljava/lang/String;)[B │ │ -00b0e0: 6e10 4703 0800 |0000: invoke-virtual {v8}, Ljava/lang/String;.length:()I // method@0347 │ │ -00b0e6: 0a06 |0003: move-result v6 │ │ -00b0e8: d806 0601 |0004: add-int/lit8 v6, v6, #int 1 // #01 │ │ -00b0ec: db03 0602 |0006: div-int/lit8 v3, v6, #int 2 // #02 │ │ -00b0f0: 2332 2c01 |0008: new-array v2, v3, [B // type@012c │ │ -00b0f4: 1204 |000a: const/4 v4, #int 0 // #0 │ │ -00b0f6: 1200 |000b: const/4 v0, #int 0 // #0 │ │ -00b0f8: 6e10 4703 0800 |000c: invoke-virtual {v8}, Ljava/lang/String;.length:()I // method@0347 │ │ -00b0fe: 0a06 |000f: move-result v6 │ │ -00b100: dc06 0602 |0010: rem-int/lit8 v6, v6, #int 2 // #02 │ │ -00b104: 3806 1200 |0012: if-eqz v6, 0024 // +0012 │ │ -00b108: d805 0401 |0014: add-int/lit8 v5, v4, #int 1 // #01 │ │ -00b10c: 6e20 4203 0800 |0016: invoke-virtual {v8, v0}, Ljava/lang/String;.charAt:(I)C // method@0342 │ │ -00b112: 0a06 |0019: move-result v6 │ │ -00b114: 7110 b801 0600 |001a: invoke-static {v6}, Lcom/google/android/apps/authenticator/HexEncoding;.getHexadecimalDigitValue:(C)I // method@01b8 │ │ -00b11a: 0a06 |001d: move-result v6 │ │ -00b11c: 8d66 |001e: int-to-byte v6, v6 │ │ -00b11e: 4f06 0204 |001f: aput-byte v6, v2, v4 │ │ -00b122: d800 0001 |0021: add-int/lit8 v0, v0, #int 1 // #01 │ │ -00b126: 0154 |0023: move v4, v5 │ │ -00b128: 6e10 4703 0800 |0024: invoke-virtual {v8}, Ljava/lang/String;.length:()I // method@0347 │ │ -00b12e: 0a01 |0027: move-result v1 │ │ -00b130: 0145 |0028: move v5, v4 │ │ -00b132: 3510 2000 |0029: if-ge v0, v1, 0049 // +0020 │ │ -00b136: d804 0501 |002b: add-int/lit8 v4, v5, #int 1 // #01 │ │ -00b13a: 6e20 4203 0800 |002d: invoke-virtual {v8, v0}, Ljava/lang/String;.charAt:(I)C // method@0342 │ │ -00b140: 0a06 |0030: move-result v6 │ │ -00b142: 7110 b801 0600 |0031: invoke-static {v6}, Lcom/google/android/apps/authenticator/HexEncoding;.getHexadecimalDigitValue:(C)I // method@01b8 │ │ -00b148: 0a06 |0034: move-result v6 │ │ -00b14a: e006 0604 |0035: shl-int/lit8 v6, v6, #int 4 // #04 │ │ -00b14e: d807 0001 |0037: add-int/lit8 v7, v0, #int 1 // #01 │ │ -00b152: 6e20 4203 7800 |0039: invoke-virtual {v8, v7}, Ljava/lang/String;.charAt:(I)C // method@0342 │ │ -00b158: 0a07 |003c: move-result v7 │ │ -00b15a: 7110 b801 0700 |003d: invoke-static {v7}, Lcom/google/android/apps/authenticator/HexEncoding;.getHexadecimalDigitValue:(C)I // method@01b8 │ │ -00b160: 0a07 |0040: move-result v7 │ │ -00b162: b676 |0041: or-int/2addr v6, v7 │ │ -00b164: 8d66 |0042: int-to-byte v6, v6 │ │ -00b166: 4f06 0205 |0043: aput-byte v6, v2, v5 │ │ -00b16a: d800 0002 |0045: add-int/lit8 v0, v0, #int 2 // #02 │ │ -00b16e: 0145 |0047: move v5, v4 │ │ -00b170: 28e1 |0048: goto 0029 // -001f │ │ -00b172: 1102 |0049: return-object v2 │ │ +00b6d8: |[00b6d8] com.google.android.apps.authenticator.HexEncoding.decode:(Ljava/lang/String;)[B │ │ +00b6e8: 6e10 4703 0800 |0000: invoke-virtual {v8}, Ljava/lang/String;.length:()I // method@0347 │ │ +00b6ee: 0a06 |0003: move-result v6 │ │ +00b6f0: d806 0601 |0004: add-int/lit8 v6, v6, #int 1 // #01 │ │ +00b6f4: db03 0602 |0006: div-int/lit8 v3, v6, #int 2 // #02 │ │ +00b6f8: 2332 2c01 |0008: new-array v2, v3, [B // type@012c │ │ +00b6fc: 1204 |000a: const/4 v4, #int 0 // #0 │ │ +00b6fe: 1200 |000b: const/4 v0, #int 0 // #0 │ │ +00b700: 6e10 4703 0800 |000c: invoke-virtual {v8}, Ljava/lang/String;.length:()I // method@0347 │ │ +00b706: 0a06 |000f: move-result v6 │ │ +00b708: dc06 0602 |0010: rem-int/lit8 v6, v6, #int 2 // #02 │ │ +00b70c: 3806 1200 |0012: if-eqz v6, 0024 // +0012 │ │ +00b710: d805 0401 |0014: add-int/lit8 v5, v4, #int 1 // #01 │ │ +00b714: 6e20 4203 0800 |0016: invoke-virtual {v8, v0}, Ljava/lang/String;.charAt:(I)C // method@0342 │ │ +00b71a: 0a06 |0019: move-result v6 │ │ +00b71c: 7110 b801 0600 |001a: invoke-static {v6}, Lcom/google/android/apps/authenticator/HexEncoding;.getHexadecimalDigitValue:(C)I // method@01b8 │ │ +00b722: 0a06 |001d: move-result v6 │ │ +00b724: 8d66 |001e: int-to-byte v6, v6 │ │ +00b726: 4f06 0204 |001f: aput-byte v6, v2, v4 │ │ +00b72a: d800 0001 |0021: add-int/lit8 v0, v0, #int 1 // #01 │ │ +00b72e: 0154 |0023: move v4, v5 │ │ +00b730: 6e10 4703 0800 |0024: invoke-virtual {v8}, Ljava/lang/String;.length:()I // method@0347 │ │ +00b736: 0a01 |0027: move-result v1 │ │ +00b738: 0145 |0028: move v5, v4 │ │ +00b73a: 3510 2000 |0029: if-ge v0, v1, 0049 // +0020 │ │ +00b73e: d804 0501 |002b: add-int/lit8 v4, v5, #int 1 // #01 │ │ +00b742: 6e20 4203 0800 |002d: invoke-virtual {v8, v0}, Ljava/lang/String;.charAt:(I)C // method@0342 │ │ +00b748: 0a06 |0030: move-result v6 │ │ +00b74a: 7110 b801 0600 |0031: invoke-static {v6}, Lcom/google/android/apps/authenticator/HexEncoding;.getHexadecimalDigitValue:(C)I // method@01b8 │ │ +00b750: 0a06 |0034: move-result v6 │ │ +00b752: e006 0604 |0035: shl-int/lit8 v6, v6, #int 4 // #04 │ │ +00b756: d807 0001 |0037: add-int/lit8 v7, v0, #int 1 // #01 │ │ +00b75a: 6e20 4203 7800 |0039: invoke-virtual {v8, v7}, Ljava/lang/String;.charAt:(I)C // method@0342 │ │ +00b760: 0a07 |003c: move-result v7 │ │ +00b762: 7110 b801 0700 |003d: invoke-static {v7}, Lcom/google/android/apps/authenticator/HexEncoding;.getHexadecimalDigitValue:(C)I // method@01b8 │ │ +00b768: 0a07 |0040: move-result v7 │ │ +00b76a: b676 |0041: or-int/2addr v6, v7 │ │ +00b76c: 8d66 |0042: int-to-byte v6, v6 │ │ +00b76e: 4f06 0205 |0043: aput-byte v6, v2, v5 │ │ +00b772: d800 0002 |0045: add-int/lit8 v0, v0, #int 2 // #02 │ │ +00b776: 0145 |0047: move v5, v4 │ │ +00b778: 28e1 |0048: goto 0029 // -001f │ │ +00b77a: 1102 |0049: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ 0x0008 line=49 │ │ 0x000a line=50 │ │ 0x000b line=51 │ │ 0x000c line=52 │ │ 0x0014 line=54 │ │ 0x0021 line=55 │ │ 0x0024 line=57 │ │ 0x002b line=58 │ │ + 0x002d line=59 │ │ + 0x0039 line=60 │ │ 0x0045 line=57 │ │ 0x0049 line=62 │ │ locals : │ │ 0x000b - 0x0016 reg=4 resultOffset I │ │ 0x0016 - 0x0024 reg=5 resultOffset I │ │ 0x0024 - 0x0029 reg=4 resultOffset I │ │ 0x0029 - 0x002d reg=5 resultOffset I │ │ @@ -9780,137 +5518,134 @@ │ │ 0x0000 - 0x004a reg=8 encoded Ljava/lang/String; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/HexEncoding;) │ │ name : 'encode' │ │ type : '([B)Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ - registers : 8 │ │ + registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ - insns size : 43 16-bit code units │ │ -00b174: |[00b174] com.google.android.apps.authenticator.HexEncoding.encode:([B)Ljava/lang/String; │ │ -00b184: 2204 f900 |0000: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ -00b188: 2175 |0002: array-length v5, v7 │ │ -00b18a: da05 0502 |0003: mul-int/lit8 v5, v5, #int 2 // #02 │ │ -00b18e: 7020 5403 5400 |0005: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(I)V // method@0354 │ │ -00b194: 0770 |0008: move-object v0, v7 │ │ -00b196: 2103 |0009: array-length v3, v0 │ │ -00b198: 1202 |000a: const/4 v2, #int 0 // #0 │ │ -00b19a: 3532 1b00 |000b: if-ge v2, v3, 0026 // +001b │ │ -00b19e: 4801 0002 |000d: aget-byte v1, v0, v2 │ │ -00b1a2: 6205 8500 |000f: sget-object v5, Lcom/google/android/apps/authenticator/HexEncoding;.HEX_DIGITS:[C // field@0085 │ │ -00b1a6: e206 0104 |0011: ushr-int/lit8 v6, v1, #int 4 // #04 │ │ -00b1aa: dd06 060f |0013: and-int/lit8 v6, v6, #int 15 // #0f │ │ -00b1ae: 4905 0506 |0015: aget-char v5, v5, v6 │ │ -00b1b2: 6e20 5503 5400 |0017: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ -00b1b8: 6205 8500 |001a: sget-object v5, Lcom/google/android/apps/authenticator/HexEncoding;.HEX_DIGITS:[C // field@0085 │ │ -00b1bc: dd06 010f |001c: and-int/lit8 v6, v1, #int 15 // #0f │ │ -00b1c0: 4905 0506 |001e: aget-char v5, v5, v6 │ │ -00b1c4: 6e20 5503 5400 |0020: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ -00b1ca: d802 0201 |0023: add-int/lit8 v2, v2, #int 1 // #01 │ │ -00b1ce: 28e6 |0025: goto 000b // -001a │ │ -00b1d0: 6e10 5b03 0400 |0026: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00b1d6: 0c05 |0029: move-result-object v5 │ │ -00b1d8: 1105 |002a: return-object v5 │ │ + insns size : 42 16-bit code units │ │ +00b77c: |[00b77c] com.google.android.apps.authenticator.HexEncoding.encode:([B)Ljava/lang/String; │ │ +00b78c: 2201 f900 |0000: new-instance v1, Ljava/lang/StringBuilder; // type@00f9 │ │ +00b790: 2162 |0002: array-length v2, v6 │ │ +00b792: da02 0202 |0003: mul-int/lit8 v2, v2, #int 2 // #02 │ │ +00b796: 7020 5403 2100 |0005: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(I)V // method@0354 │ │ +00b79c: 2163 |0008: array-length v3, v6 │ │ +00b79e: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +00b7a0: 3532 1b00 |000a: if-ge v2, v3, 0025 // +001b │ │ +00b7a4: 4800 0602 |000c: aget-byte v0, v6, v2 │ │ +00b7a8: 6204 8500 |000e: sget-object v4, Lcom/google/android/apps/authenticator/HexEncoding;.HEX_DIGITS:[C // field@0085 │ │ +00b7ac: e205 0004 |0010: ushr-int/lit8 v5, v0, #int 4 // #04 │ │ +00b7b0: dd05 050f |0012: and-int/lit8 v5, v5, #int 15 // #0f │ │ +00b7b4: 4904 0405 |0014: aget-char v4, v4, v5 │ │ +00b7b8: 6e20 5503 4100 |0016: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ +00b7be: 6204 8500 |0019: sget-object v4, Lcom/google/android/apps/authenticator/HexEncoding;.HEX_DIGITS:[C // field@0085 │ │ +00b7c2: dd05 000f |001b: and-int/lit8 v5, v0, #int 15 // #0f │ │ +00b7c6: 4904 0405 |001d: aget-char v4, v4, v5 │ │ +00b7ca: 6e20 5503 4100 |001f: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ +00b7d0: d802 0201 |0022: add-int/lit8 v2, v2, #int 1 // #01 │ │ +00b7d4: 28e6 |0024: goto 000a // -001a │ │ +00b7d6: 6e10 5b03 0100 |0025: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00b7dc: 0c02 |0028: move-result-object v2 │ │ +00b7de: 1102 |0029: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ 0x0008 line=36 │ │ - 0x000f line=37 │ │ - 0x001a line=38 │ │ - 0x0023 line=36 │ │ - 0x0026 line=40 │ │ - locals : │ │ - 0x000f - 0x0026 reg=1 b B │ │ - 0x0009 - 0x002b reg=0 arr$ [B │ │ - 0x000b - 0x002b reg=2 i$ I │ │ - 0x000a - 0x002b reg=3 len$ I │ │ - 0x0008 - 0x002b reg=4 result Ljava/lang/StringBuilder; │ │ - 0x0000 - 0x002b reg=7 data [B │ │ + 0x000e line=37 │ │ + 0x0019 line=38 │ │ + 0x0022 line=36 │ │ + 0x0025 line=40 │ │ + locals : │ │ + 0x000e - 0x0025 reg=0 b B │ │ + 0x0008 - 0x002a reg=1 result Ljava/lang/StringBuilder; │ │ + 0x0000 - 0x002a reg=6 data [B │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/HexEncoding;) │ │ name : 'getHexadecimalDigitValue' │ │ type : '(C)I' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 82 16-bit code units │ │ -00b1dc: |[00b1dc] com.google.android.apps.authenticator.HexEncoding.getHexadecimalDigitValue:(C)I │ │ -00b1ec: 1300 6100 |0000: const/16 v0, #int 97 // #61 │ │ -00b1f0: 3403 0b00 |0002: if-lt v3, v0, 000d // +000b │ │ -00b1f4: 1300 6600 |0004: const/16 v0, #int 102 // #66 │ │ -00b1f8: 3603 0700 |0006: if-gt v3, v0, 000d // +0007 │ │ -00b1fc: d800 039f |0008: add-int/lit8 v0, v3, #int -97 // #9f │ │ -00b200: d800 000a |000a: add-int/lit8 v0, v0, #int 10 // #0a │ │ -00b204: 0f00 |000c: return v0 │ │ -00b206: 1300 4100 |000d: const/16 v0, #int 65 // #41 │ │ -00b20a: 3403 0b00 |000f: if-lt v3, v0, 001a // +000b │ │ -00b20e: 1300 4600 |0011: const/16 v0, #int 70 // #46 │ │ -00b212: 3603 0700 |0013: if-gt v3, v0, 001a // +0007 │ │ -00b216: d800 03bf |0015: add-int/lit8 v0, v3, #int -65 // #bf │ │ -00b21a: d800 000a |0017: add-int/lit8 v0, v0, #int 10 // #0a │ │ -00b21e: 28f3 |0019: goto 000c // -000d │ │ -00b220: 1300 3000 |001a: const/16 v0, #int 48 // #30 │ │ -00b224: 3403 0900 |001c: if-lt v3, v0, 0025 // +0009 │ │ -00b228: 1300 3900 |001e: const/16 v0, #int 57 // #39 │ │ -00b22c: 3603 0500 |0020: if-gt v3, v0, 0025 // +0005 │ │ -00b230: d800 03d0 |0022: add-int/lit8 v0, v3, #int -48 // #d0 │ │ -00b234: 28e8 |0024: goto 000c // -0018 │ │ -00b236: 2200 e900 |0025: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ -00b23a: 2201 f900 |0027: new-instance v1, Ljava/lang/StringBuilder; // type@00f9 │ │ -00b23e: 7010 5303 0100 |0029: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00b244: 1a02 bb00 |002c: const-string v2, "Invalid hexadecimal digit at position : '" // string@00bb │ │ -00b248: 6e20 5a03 2100 |002e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00b24e: 0c01 |0031: move-result-object v1 │ │ -00b250: 6e20 5503 3100 |0032: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ -00b256: 0c01 |0035: move-result-object v1 │ │ -00b258: 1a02 0d00 |0036: const-string v2, "' (0x" // string@000d │ │ -00b25c: 6e20 5a03 2100 |0038: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00b262: 0c01 |003b: move-result-object v1 │ │ -00b264: 7110 2f03 0300 |003c: invoke-static {v3}, Ljava/lang/Integer;.toHexString:(I)Ljava/lang/String; // method@032f │ │ -00b26a: 0c02 |003f: move-result-object v2 │ │ -00b26c: 6e20 5a03 2100 |0040: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00b272: 0c01 |0043: move-result-object v1 │ │ -00b274: 1a02 1300 |0044: const-string v2, ")" // string@0013 │ │ -00b278: 6e20 5a03 2100 |0046: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00b27e: 0c01 |0049: move-result-object v1 │ │ -00b280: 6e10 5b03 0100 |004a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00b286: 0c01 |004d: move-result-object v1 │ │ -00b288: 7020 2603 1000 |004e: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ -00b28e: 2700 |0051: throw v0 │ │ +00b7e0: |[00b7e0] com.google.android.apps.authenticator.HexEncoding.getHexadecimalDigitValue:(C)I │ │ +00b7f0: 1300 6100 |0000: const/16 v0, #int 97 // #61 │ │ +00b7f4: 3403 0b00 |0002: if-lt v3, v0, 000d // +000b │ │ +00b7f8: 1300 6600 |0004: const/16 v0, #int 102 // #66 │ │ +00b7fc: 3603 0700 |0006: if-gt v3, v0, 000d // +0007 │ │ +00b800: d800 039f |0008: add-int/lit8 v0, v3, #int -97 // #9f │ │ +00b804: d800 000a |000a: add-int/lit8 v0, v0, #int 10 // #0a │ │ +00b808: 0f00 |000c: return v0 │ │ +00b80a: 1300 4100 |000d: const/16 v0, #int 65 // #41 │ │ +00b80e: 3403 0b00 |000f: if-lt v3, v0, 001a // +000b │ │ +00b812: 1300 4600 |0011: const/16 v0, #int 70 // #46 │ │ +00b816: 3603 0700 |0013: if-gt v3, v0, 001a // +0007 │ │ +00b81a: d800 03bf |0015: add-int/lit8 v0, v3, #int -65 // #bf │ │ +00b81e: d800 000a |0017: add-int/lit8 v0, v0, #int 10 // #0a │ │ +00b822: 28f3 |0019: goto 000c // -000d │ │ +00b824: 1300 3000 |001a: const/16 v0, #int 48 // #30 │ │ +00b828: 3403 0900 |001c: if-lt v3, v0, 0025 // +0009 │ │ +00b82c: 1300 3900 |001e: const/16 v0, #int 57 // #39 │ │ +00b830: 3603 0500 |0020: if-gt v3, v0, 0025 // +0005 │ │ +00b834: d800 03d0 |0022: add-int/lit8 v0, v3, #int -48 // #d0 │ │ +00b838: 28e8 |0024: goto 000c // -0018 │ │ +00b83a: 2200 e900 |0025: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ +00b83e: 2201 f900 |0027: new-instance v1, Ljava/lang/StringBuilder; // type@00f9 │ │ +00b842: 7010 5303 0100 |0029: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00b848: 1a02 bb00 |002c: const-string v2, "Invalid hexadecimal digit at position : '" // string@00bb │ │ +00b84c: 6e20 5a03 2100 |002e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b852: 0c01 |0031: move-result-object v1 │ │ +00b854: 6e20 5503 3100 |0032: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ +00b85a: 0c01 |0035: move-result-object v1 │ │ +00b85c: 1a02 0d00 |0036: const-string v2, "' (0x" // string@000d │ │ +00b860: 6e20 5a03 2100 |0038: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b866: 0c01 |003b: move-result-object v1 │ │ +00b868: 7110 2f03 0300 |003c: invoke-static {v3}, Ljava/lang/Integer;.toHexString:(I)Ljava/lang/String; // method@032f │ │ +00b86e: 0c02 |003f: move-result-object v2 │ │ +00b870: 6e20 5a03 2100 |0040: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b876: 0c01 |0043: move-result-object v1 │ │ +00b878: 1a02 1300 |0044: const-string v2, ")" // string@0013 │ │ +00b87c: 6e20 5a03 2100 |0046: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b882: 0c01 |0049: move-result-object v1 │ │ +00b884: 6e10 5b03 0100 |004a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00b88a: 0c01 |004d: move-result-object v1 │ │ +00b88c: 7020 2603 1000 |004e: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ +00b892: 2700 |0051: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ 0x0008 line=67 │ │ 0x000c line=71 │ │ 0x000d line=68 │ │ 0x0015 line=69 │ │ 0x001a line=70 │ │ 0x0022 line=71 │ │ 0x0025 line=73 │ │ + 0x003c line=74 │ │ locals : │ │ 0x0000 - 0x0052 reg=3 c C │ │ │ │ Virtual methods - │ │ source_file_idx : 156 (HexEncoding.java) │ │ │ │ -Class #42 header: │ │ +Class #31 header: │ │ class_idx : 132 │ │ access_flags : 1537 (0x0601) │ │ superclass_idx : 243 │ │ -source_file_idx : 568 │ │ +source_file_idx : 565 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 0 │ │ virtual_methods_size: 10 │ │ │ │ -Class #42 - │ │ +Class #31 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/OptionalFeatures;' │ │ Access flags : 0x0601 (PUBLIC INTERFACE ABSTRACT) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ @@ -9971,378 +5706,35 @@ │ │ │ │ #9 : (in Lcom/google/android/apps/authenticator/OptionalFeatures;) │ │ name : 'onDataImportedFromOldApp' │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x0401 (PUBLIC ABSTRACT) │ │ code : (none) │ │ │ │ - source_file_idx : 568 (OptionalFeatures.java) │ │ - │ │ -Class #43 header: │ │ -class_idx : 131 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 243 │ │ -source_file_idx : 553 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 10 │ │ - │ │ -Class #43 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/OptionalFeatures;' │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00b290: |[00b290] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.:()V │ │ -00b2a0: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00b2a6: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=30 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'appendDataImportLearnMoreLink' │ │ - type : '(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 3 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -00b2a8: |[00b2a8] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.appendDataImportLearnMoreLink:(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; │ │ -00b2b8: 1102 |0000: return-object v2 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=53 │ │ - locals : │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x0001 reg=1 context Landroid/content/Context; │ │ - 0x0000 - 0x0001 reg=2 text Ljava/lang/String; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'createOtpSource' │ │ - type : '(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)Lcom/google/android/apps/authenticator/OtpSource;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 6 16-bit code units │ │ -00b2bc: |[00b2bc] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.createOtpSource:(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)Lcom/google/android/apps/authenticator/OtpSource; │ │ -00b2cc: 2200 8600 |0000: new-instance v0, Lcom/google/android/apps/authenticator/OtpProvider; // type@0086 │ │ -00b2d0: 7030 d001 2003 |0002: invoke-direct {v0, v2, v3}, Lcom/google/android/apps/authenticator/OtpProvider;.:(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V // method@01d0 │ │ -00b2d6: 1100 |0005: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=58 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x0006 reg=2 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ - 0x0000 - 0x0006 reg=3 totpClock Lcom/google/android/apps/authenticator/TotpClock; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'getSharedPreferencesForDataImportFromOldApp' │ │ - type : '(Landroid/content/Context;)Landroid/content/SharedPreferences;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 2 │ │ - outs : 0 │ │ - insns size : 2 16-bit code units │ │ -00b2d8: |[00b2d8] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.getSharedPreferencesForDataImportFromOldApp:(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ -00b2e8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -00b2ea: 1100 |0001: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=48 │ │ - locals : │ │ - 0x0000 - 0x0002 reg=1 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x0002 reg=2 context Landroid/content/Context; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'interpretScanResult' │ │ - type : '(Landroid/content/Context;Landroid/net/Uri;)Z' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 3 │ │ - outs : 0 │ │ - insns size : 2 16-bit code units │ │ -00b2ec: |[00b2ec] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.interpretScanResult:(Landroid/content/Context;Landroid/net/Uri;)Z │ │ -00b2fc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -00b2fe: 0f00 |0001: return v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=40 │ │ - locals : │ │ - 0x0000 - 0x0002 reg=1 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x0002 reg=2 context Landroid/content/Context; │ │ - 0x0000 - 0x0002 reg=3 scanResult Landroid/net/Uri; │ │ - │ │ - #4 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'onAuthenticatorActivityAccountSaved' │ │ - type : '(Landroid/content/Context;Ljava/lang/String;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 3 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -00b300: |[00b300] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityAccountSaved:(Landroid/content/Context;Ljava/lang/String;)V │ │ -00b310: 0e00 |0000: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=36 │ │ - locals : │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x0001 reg=1 context Landroid/content/Context; │ │ - 0x0000 - 0x0001 reg=2 account Ljava/lang/String; │ │ - │ │ - #5 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'onAuthenticatorActivityAddAccount' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 11 16-bit code units │ │ -00b314: |[00b314] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityAddAccount:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -00b324: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ -00b328: 1c01 6600 |0002: const-class v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // type@0066 │ │ -00b32c: 7030 2f00 3001 |0004: invoke-direct {v0, v3, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ -00b332: 6e20 7e01 0300 |0007: invoke-virtual {v3, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ -00b338: 0e00 |000a: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=74 │ │ - 0x000a line=75 │ │ - locals : │ │ - 0x0000 - 0x000b reg=2 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x000b reg=3 activity Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #6 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'onAuthenticatorActivityCreateDialog' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)Landroid/app/Dialog;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 3 │ │ - outs : 0 │ │ - insns size : 2 16-bit code units │ │ -00b33c: |[00b33c] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityCreateDialog:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)Landroid/app/Dialog; │ │ -00b34c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -00b34e: 1100 |0001: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=69 │ │ - locals : │ │ - 0x0000 - 0x0002 reg=1 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x0002 reg=2 activity Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0002 reg=3 id I │ │ - │ │ - #7 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'onAuthenticatorActivityCreated' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -00b350: |[00b350] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityCreated:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ -00b360: 0e00 |0000: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=33 │ │ - locals : │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x0001 reg=1 activity Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - │ │ - #8 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'onAuthenticatorActivityGetNextOtpFailed' │ │ - type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Lcom/google/android/apps/authenticator/OtpSourceException;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 6 │ │ - ins : 4 │ │ - outs : 3 │ │ - insns size : 8 16-bit code units │ │ -00b364: |[00b364] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityGetNextOtpFailed:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Lcom/google/android/apps/authenticator/OtpSourceException;)V │ │ -00b374: 2200 f600 |0000: new-instance v0, Ljava/lang/RuntimeException; // type@00f6 │ │ -00b378: 1a01 8700 |0002: const-string v1, "Failed to generate OTP for account" // string@0087 │ │ -00b37c: 7030 4003 1005 |0004: invoke-direct {v0, v1, v5}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0340 │ │ -00b382: 2700 |0007: throw v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=64 │ │ - locals : │ │ - 0x0000 - 0x0008 reg=2 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x0008 reg=3 activity Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ - 0x0000 - 0x0008 reg=4 accountName Ljava/lang/String; │ │ - 0x0000 - 0x0008 reg=5 exception Lcom/google/android/apps/authenticator/OtpSourceException; │ │ - │ │ - #9 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ - name : 'onDataImportedFromOldApp' │ │ - type : '(Landroid/content/Context;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -00b384: |[00b384] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onDataImportedFromOldApp:(Landroid/content/Context;)V │ │ -00b394: 0e00 |0000: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=44 │ │ - locals : │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ - 0x0000 - 0x0001 reg=1 context Landroid/content/Context; │ │ - │ │ - source_file_idx : 553 (MarketBuildOptionalFeatures.java) │ │ - │ │ -Class #44 header: │ │ -class_idx : 136 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 230 │ │ -source_file_idx : 572 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 2 │ │ -virtual_methods_size: 0 │ │ - │ │ -Class #44 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/OtpSourceException;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Ljava/lang/Exception;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/OtpSourceException;) │ │ - name : '' │ │ - type : '(Ljava/lang/String;)V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 4 16-bit code units │ │ -00b398: |[00b398] com.google.android.apps.authenticator.OtpSourceException.:(Ljava/lang/String;)V │ │ -00b3a8: 7020 2103 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0321 │ │ -00b3ae: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=26 │ │ - 0x0003 line=27 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/OtpSourceException; │ │ - 0x0000 - 0x0004 reg=1 message Ljava/lang/String; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/OtpSourceException;) │ │ - name : '' │ │ - type : '(Ljava/lang/String;Ljava/lang/Throwable;)V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 3 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 4 16-bit code units │ │ -00b3b0: |[00b3b0] com.google.android.apps.authenticator.OtpSourceException.:(Ljava/lang/String;Ljava/lang/Throwable;)V │ │ -00b3c0: 7030 2203 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Exception;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0322 │ │ -00b3c6: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=30 │ │ - 0x0003 line=31 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/OtpSourceException; │ │ - 0x0000 - 0x0004 reg=1 message Ljava/lang/String; │ │ - 0x0000 - 0x0004 reg=2 cause Ljava/lang/Throwable; │ │ - │ │ - Virtual methods - │ │ - source_file_idx : 572 (OtpSourceException.java) │ │ - │ │ -Class #45 header: │ │ -class_idx : 133 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 136 │ │ -source_file_idx : 569 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 0 │ │ - │ │ -Class #45 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/OtpGenerationNotPermittedException;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/OtpSourceException;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/OtpGenerationNotPermittedException;) │ │ - name : '' │ │ - type : '(Ljava/lang/String;)V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 4 16-bit code units │ │ -00b3c8: |[00b3c8] com.google.android.apps.authenticator.OtpGenerationNotPermittedException.:(Ljava/lang/String;)V │ │ -00b3d8: 7020 de01 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/OtpSourceException;.:(Ljava/lang/String;)V // method@01de │ │ -00b3de: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=27 │ │ - 0x0003 line=28 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/OtpGenerationNotPermittedException; │ │ - 0x0000 - 0x0004 reg=1 message Ljava/lang/String; │ │ - │ │ - Virtual methods - │ │ - source_file_idx : 569 (OtpGenerationNotPermittedException.java) │ │ + source_file_idx : 565 (OptionalFeatures.java) │ │ │ │ -Class #46 header: │ │ +Class #32 header: │ │ class_idx : 135 │ │ access_flags : 1537 (0x0601) │ │ superclass_idx : 243 │ │ -source_file_idx : 571 │ │ +source_file_idx : 568 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 0 │ │ virtual_methods_size: 5 │ │ │ │ -Class #46 annotations: │ │ +Class #32 annotations: │ │ Annotations on method #473 'enumerateAccounts' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/util/Collection" "<" "Ljava/lang/String;" ">;)I" } │ │ Annotations on method #474 'getNextCode' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ Annotations on method #477 'respondToChallenge' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ │ │ -Class #46 - │ │ +Class #32 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/OtpSource;' │ │ Access flags : 0x0601 (PUBLIC INTERFACE ABSTRACT) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ @@ -10373,483 +5765,123 @@ │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/OtpSource;) │ │ name : 'respondToChallenge' │ │ type : '(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;' │ │ access : 0x0401 (PUBLIC ABSTRACT) │ │ code : (none) │ │ │ │ - source_file_idx : 571 (OtpSource.java) │ │ + source_file_idx : 568 (OtpSource.java) │ │ │ │ -Class #47 header: │ │ -class_idx : 134 │ │ +Class #33 header: │ │ +class_idx : 136 │ │ access_flags : 1 (0x0001) │ │ -superclass_idx : 243 │ │ -source_file_idx : 570 │ │ -static_fields_size : 3 │ │ -instance_fields_size: 3 │ │ -direct_methods_size : 4 │ │ -virtual_methods_size: 6 │ │ - │ │ -Class #47 annotations: │ │ -Annotations on method #465 'computePin' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ -Annotations on method #466 'enumerateAccounts' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/util/Collection" "<" "Ljava/lang/String;" ">;)I" } │ │ -Annotations on method #467 'getCurrentCode' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ -Annotations on method #468 'getNextCode' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ -Annotations on method #472 'respondToChallenge' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ +superclass_idx : 230 │ │ +source_file_idx : 569 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 2 │ │ +virtual_methods_size: 0 │ │ │ │ -Class #47 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/OtpProvider;' │ │ +Class #33 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/OtpSourceException;' │ │ Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Ljava/lang/Object;' │ │ + Superclass : 'Ljava/lang/Exception;' │ │ Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/OtpSource;' │ │ Static fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'DEFAULT_INTERVAL' │ │ - type : 'I' │ │ - access : 0x0019 (PUBLIC STATIC FINAL) │ │ - value : 30 │ │ - #1 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'PIN_LENGTH' │ │ - type : 'I' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : 6 │ │ - #2 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'REFLECTIVE_PIN_LENGTH' │ │ - type : 'I' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : 9 │ │ Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'mAccountDb' │ │ - type : 'Lcom/google/android/apps/authenticator/AccountDb;' │ │ - access : 0x0012 (PRIVATE FINAL) │ │ - #1 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'mTotpClock' │ │ - type : 'Lcom/google/android/apps/authenticator/TotpClock;' │ │ - access : 0x0012 (PRIVATE FINAL) │ │ - #2 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'mTotpCounter' │ │ - type : 'Lcom/google/android/apps/authenticator/TotpCounter;' │ │ - access : 0x0012 (PRIVATE FINAL) │ │ Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : '' │ │ - type : '(ILcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 7 │ │ - ins : 4 │ │ - outs : 3 │ │ - insns size : 16 16-bit code units │ │ -00b3e0: |[00b3e0] com.google.android.apps.authenticator.OtpProvider.:(ILcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V │ │ -00b3f0: 7010 3a03 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@033a │ │ -00b3f6: 5b35 8900 |0003: iput-object v5, v3, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ -00b3fa: 2200 9300 |0005: new-instance v0, Lcom/google/android/apps/authenticator/TotpCounter; // type@0093 │ │ -00b3fe: 8141 |0007: int-to-long v1, v4 │ │ -00b400: 7030 1002 1002 |0008: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/TotpCounter;.:(J)V // method@0210 │ │ -00b406: 5b30 8b00 |000b: iput-object v0, v3, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@008b │ │ -00b40a: 5b36 8a00 |000d: iput-object v6, v3, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@008a │ │ -00b40e: 0e00 |000f: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=103 │ │ - 0x0003 line=104 │ │ - 0x0005 line=105 │ │ - 0x000d line=106 │ │ - 0x000f line=107 │ │ - locals : │ │ - 0x0000 - 0x0010 reg=3 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - 0x0000 - 0x0010 reg=4 interval I │ │ - 0x0000 - 0x0010 reg=5 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ - 0x0000 - 0x0010 reg=6 totpClock Lcom/google/android/apps/authenticator/TotpClock; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + #0 : (in Lcom/google/android/apps/authenticator/OtpSourceException;) │ │ name : '' │ │ - type : '(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V' │ │ + type : '(Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ - registers : 4 │ │ - ins : 3 │ │ - outs : 4 │ │ - insns size : 6 16-bit code units │ │ -00b410: |[00b410] com.google.android.apps.authenticator.OtpProvider.:(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V │ │ -00b420: 1300 1e00 |0000: const/16 v0, #int 30 // #1e │ │ -00b424: 7040 cf01 0132 |0002: invoke-direct {v1, v0, v2, v3}, Lcom/google/android/apps/authenticator/OtpProvider;.:(ILcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V // method@01cf │ │ -00b42a: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=100 │ │ - 0x0005 line=101 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - 0x0000 - 0x0006 reg=2 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ - 0x0000 - 0x0006 reg=3 totpClock Lcom/google/android/apps/authenticator/TotpClock; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'computePin' │ │ - type : '(Ljava/lang/String;J[B)Ljava/lang/String;' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 10 │ │ - ins : 5 │ │ - outs : 4 │ │ - insns size : 52 16-bit code units │ │ -00b42c: |[00b42c] com.google.android.apps.authenticator.OtpProvider.computePin:(Ljava/lang/String;J[B)Ljava/lang/String; │ │ -00b43c: 3806 0800 |0000: if-eqz v6, 0008 // +0008 │ │ -00b440: 6e10 4703 0600 |0002: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0347 │ │ -00b446: 0a03 |0005: move-result v3 │ │ -00b448: 3903 0a00 |0006: if-nez v3, 0010 // +000a │ │ -00b44c: 2203 8800 |0008: new-instance v3, Lcom/google/android/apps/authenticator/OtpSourceException; // type@0088 │ │ -00b450: 1a04 3202 |000a: const-string v4, "Null or empty secret" // string@0232 │ │ -00b454: 7020 de01 4300 |000c: invoke-direct {v3, v4}, Lcom/google/android/apps/authenticator/OtpSourceException;.:(Ljava/lang/String;)V // method@01de │ │ -00b45a: 2703 |000f: throw v3 │ │ -00b45c: 7110 e900 0600 |0010: invoke-static {v6}, Lcom/google/android/apps/authenticator/AccountDb;.getSigningOracle:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; // method@00e9 │ │ -00b462: 0c02 |0013: move-result-object v2 │ │ -00b464: 2201 8b00 |0014: new-instance v1, Lcom/google/android/apps/authenticator/PasscodeGenerator; // type@008b │ │ -00b468: 3909 0d00 |0016: if-nez v9, 0023 // +000d │ │ -00b46c: 1263 |0018: const/4 v3, #int 6 // #6 │ │ -00b46e: 7030 e401 2103 |0019: invoke-direct {v1, v2, v3}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V // method@01e4 │ │ -00b474: 3909 0a00 |001c: if-nez v9, 0026 // +000a │ │ -00b478: 6e30 e701 7108 |001e: invoke-virtual {v1, v7, v8}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J)Ljava/lang/String; // method@01e7 │ │ -00b47e: 0c03 |0021: move-result-object v3 │ │ -00b480: 1103 |0022: return-object v3 │ │ -00b482: 1303 0900 |0023: const/16 v3, #int 9 // #9 │ │ -00b486: 28f4 |0025: goto 0019 // -000c │ │ -00b488: 6e40 e801 7198 |0026: invoke-virtual {v1, v7, v8, v9}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J[B)Ljava/lang/String; // method@01e8 │ │ -00b48e: 0c03 |0029: move-result-object v3 │ │ -00b490: 28f8 |002a: goto 0022 // -0008 │ │ -00b492: 0d00 |002b: move-exception v0 │ │ -00b494: 2203 8800 |002c: new-instance v3, Lcom/google/android/apps/authenticator/OtpSourceException; // type@0088 │ │ -00b498: 1a04 6700 |002e: const-string v4, "Crypto failure" // string@0067 │ │ -00b49c: 7030 df01 4300 |0030: invoke-direct {v3, v4, v0}, Lcom/google/android/apps/authenticator/OtpSourceException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@01df │ │ -00b4a2: 2703 |0033: throw v3 │ │ - catches : 1 │ │ - 0x0010 - 0x0029 │ │ - Ljava/security/GeneralSecurityException; -> 0x002b │ │ - positions : │ │ - 0x0000 line=119 │ │ - 0x0008 line=120 │ │ - 0x0010 line=124 │ │ - 0x0014 line=125 │ │ - 0x001c line=128 │ │ - 0x0023 line=125 │ │ - 0x0026 line=128 │ │ - 0x002b line=131 │ │ - 0x002c line=132 │ │ - locals : │ │ - 0x001c - 0x0023 reg=1 pcg Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ - 0x0026 - 0x002b reg=1 pcg Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ - 0x0014 - 0x002b reg=2 signer Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; │ │ - 0x002c - 0x0034 reg=0 e Ljava/security/GeneralSecurityException; │ │ - 0x0000 - 0x0034 reg=5 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - 0x0000 - 0x0034 reg=6 secret Ljava/lang/String; │ │ - 0x0000 - 0x0034 reg=7 otp_state J │ │ - 0x0000 - 0x0034 reg=9 challenge [B │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'getCurrentCode' │ │ - type : '(Ljava/lang/String;[B)Ljava/lang/String;' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 11 │ │ - ins : 3 │ │ - outs : 5 │ │ - insns size : 67 16-bit code units │ │ -00b4b4: |[00b4b4] com.google.android.apps.authenticator.OtpProvider.getCurrentCode:(Ljava/lang/String;[B)Ljava/lang/String; │ │ -00b4c4: 3909 0a00 |0000: if-nez v9, 000a // +000a │ │ -00b4c8: 2205 8800 |0002: new-instance v5, Lcom/google/android/apps/authenticator/OtpSourceException; // type@0088 │ │ -00b4cc: 1a06 3002 |0004: const-string v6, "No account name" // string@0230 │ │ -00b4d0: 7020 de01 6500 |0006: invoke-direct {v5, v6}, Lcom/google/android/apps/authenticator/OtpSourceException;.:(Ljava/lang/String;)V // method@01de │ │ -00b4d6: 2705 |0009: throw v5 │ │ -00b4d8: 5485 8900 |000a: iget-object v5, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ -00b4dc: 6e20 ea00 9500 |000c: invoke-virtual {v5, v9}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ -00b4e2: 0c04 |000f: move-result-object v4 │ │ -00b4e4: 6e20 d501 9800 |0010: invoke-virtual {v8, v9}, Lcom/google/android/apps/authenticator/OtpProvider;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@01d5 │ │ -00b4ea: 0c03 |0013: move-result-object v3 │ │ -00b4ec: 1601 0000 |0014: const-wide/16 v1, #int 0 // #0 │ │ -00b4f0: 6205 0a00 |0016: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ -00b4f4: 3354 1700 |0018: if-ne v4, v5, 002f // +0017 │ │ -00b4f8: 5485 8b00 |001a: iget-object v5, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@008b │ │ -00b4fc: 5486 8a00 |001c: iget-object v6, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@008a │ │ -00b500: 6e10 0002 0600 |001e: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/TotpClock;.currentTimeMillis:()J // method@0200 │ │ -00b506: 0b06 |0021: move-result-wide v6 │ │ -00b508: 7120 1d02 7600 |0022: invoke-static {v6, v7}, Lcom/google/android/apps/authenticator/Utilities;.millisToSeconds:(J)J // method@021d │ │ -00b50e: 0b06 |0025: move-result-wide v6 │ │ -00b510: 6e30 1502 6507 |0026: invoke-virtual {v5, v6, v7}, Lcom/google/android/apps/authenticator/TotpCounter;.getValueAtTime:(J)J // method@0215 │ │ -00b516: 0b01 |0029: move-result-wide v1 │ │ -00b518: 705a d101 3821 |002a: invoke-direct {v8, v3, v1, v2, v10}, Lcom/google/android/apps/authenticator/OtpProvider;.computePin:(Ljava/lang/String;J[B)Ljava/lang/String; // method@01d1 │ │ -00b51e: 0c05 |002d: move-result-object v5 │ │ -00b520: 1105 |002e: return-object v5 │ │ -00b522: 6205 0900 |002f: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -00b526: 3354 f9ff |0031: if-ne v4, v5, 002a // -0007 │ │ -00b52a: 5485 8900 |0033: iget-object v5, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ -00b52e: 6e20 eb00 9500 |0035: invoke-virtual {v5, v9}, Lcom/google/android/apps/authenticator/AccountDb;.incrementCounter:(Ljava/lang/String;)V // method@00eb │ │ -00b534: 5485 8900 |0038: iget-object v5, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ -00b538: 6e20 e500 9500 |003a: invoke-virtual {v5, v9}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ -00b53e: 0c00 |003d: move-result-object v0 │ │ -00b540: 6e10 2c03 0000 |003e: invoke-virtual {v0}, Ljava/lang/Integer;.longValue:()J // method@032c │ │ -00b546: 0b01 |0041: move-result-wide v1 │ │ -00b548: 28e8 |0042: goto 002a // -0018 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=76 │ │ - 0x0002 line=77 │ │ - 0x000a line=80 │ │ - 0x0010 line=81 │ │ - 0x0014 line=83 │ │ - 0x0016 line=85 │ │ - 0x001a line=87 │ │ - 0x002a line=96 │ │ - 0x002f line=89 │ │ - 0x0033 line=91 │ │ - 0x0038 line=92 │ │ - 0x003e line=93 │ │ - locals : │ │ - 0x003e - 0x0043 reg=0 counter Ljava/lang/Integer; │ │ - 0x0016 - 0x0043 reg=1 otp_state J │ │ - 0x0014 - 0x0043 reg=3 secret Ljava/lang/String; │ │ - 0x0010 - 0x0043 reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - 0x0000 - 0x0043 reg=8 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - 0x0000 - 0x0043 reg=9 username Ljava/lang/String; │ │ - 0x0000 - 0x0043 reg=10 challenge [B │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'enumerateAccounts' │ │ - type : '(Ljava/util/Collection;)I' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ + registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ - insns size : 7 16-bit code units │ │ -00b54c: |[00b54c] com.google.android.apps.authenticator.OtpProvider.enumerateAccounts:(Ljava/util/Collection;)I │ │ -00b55c: 5410 8900 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ -00b560: 6e20 e600 2000 |0002: invoke-virtual {v0, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getNames:(Ljava/util/Collection;)I // method@00e6 │ │ -00b566: 0a00 |0005: move-result v0 │ │ -00b568: 0f00 |0006: return v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=39 │ │ - locals : │ │ - 0x0000 - 0x0000 reg=2 (null) Ljava/util/Collection; │ │ - 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - 0x0000 - 0x0007 reg=2 result Ljava/util/Collection; Ljava/util/Collection; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'getNextCode' │ │ - type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 6 16-bit code units │ │ -00b56c: |[00b56c] com.google.android.apps.authenticator.OtpProvider.getNextCode:(Ljava/lang/String;)Ljava/lang/String; │ │ -00b57c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -00b57e: 7030 d301 2100 |0001: invoke-direct {v1, v2, v0}, Lcom/google/android/apps/authenticator/OtpProvider;.getCurrentCode:(Ljava/lang/String;[B)Ljava/lang/String; // method@01d3 │ │ -00b584: 0c00 |0004: move-result-object v0 │ │ -00b586: 1100 |0005: return-object v0 │ │ + insns size : 4 16-bit code units │ │ +00b894: |[00b894] com.google.android.apps.authenticator.OtpSourceException.:(Ljava/lang/String;)V │ │ +00b8a4: 7020 2103 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@0321 │ │ +00b8aa: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ - 0x0000 line=44 │ │ + 0x0000 line=26 │ │ + 0x0003 line=27 │ │ locals : │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - 0x0000 - 0x0006 reg=2 accountName Ljava/lang/String; │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/OtpSourceException; │ │ + 0x0000 - 0x0004 reg=1 message Ljava/lang/String; │ │ │ │ - #2 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'getSecret' │ │ - type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ - access : 0x0000 () │ │ + #1 : (in Lcom/google/android/apps/authenticator/OtpSourceException;) │ │ + name : '' │ │ + type : '(Ljava/lang/String;Ljava/lang/Throwable;)V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 7 16-bit code units │ │ -00b588: |[00b588] com.google.android.apps.authenticator.OtpProvider.getSecret:(Ljava/lang/String;)Ljava/lang/String; │ │ -00b598: 5410 8900 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ -00b59c: 6e20 e800 2000 |0002: invoke-virtual {v0, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@00e8 │ │ -00b5a2: 0c00 |0005: move-result-object v0 │ │ -00b5a4: 1100 |0006: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=142 │ │ - locals : │ │ - 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - 0x0000 - 0x0007 reg=2 user Ljava/lang/String; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'getTotpClock' │ │ - type : '()Lcom/google/android/apps/authenticator/TotpClock;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -00b5a8: |[00b5a8] com.google.android.apps.authenticator.OtpProvider.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; │ │ -00b5b8: 5410 8a00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@008a │ │ -00b5bc: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=71 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - │ │ - #4 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'getTotpCounter' │ │ - type : '()Lcom/google/android/apps/authenticator/TotpCounter;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -00b5c0: |[00b5c0] com.google.android.apps.authenticator.OtpProvider.getTotpCounter:()Lcom/google/android/apps/authenticator/TotpCounter; │ │ -00b5d0: 5410 8b00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@008b │ │ -00b5d4: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=66 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - │ │ - #5 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ - name : 'respondToChallenge' │ │ - type : '(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ - insns size : 23 16-bit code units │ │ -00b5d8: |[00b5d8] com.google.android.apps.authenticator.OtpProvider.respondToChallenge:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ -00b5e8: 3905 0800 |0000: if-nez v5, 0008 // +0008 │ │ -00b5ec: 1202 |0002: const/4 v2, #int 0 // #0 │ │ -00b5ee: 7030 d301 4302 |0003: invoke-direct {v3, v4, v2}, Lcom/google/android/apps/authenticator/OtpProvider;.getCurrentCode:(Ljava/lang/String;[B)Ljava/lang/String; // method@01d3 │ │ -00b5f4: 0c02 |0006: move-result-object v2 │ │ -00b5f6: 1102 |0007: return-object v2 │ │ -00b5f8: 1a02 9702 |0008: const-string v2, "UTF-8" // string@0297 │ │ -00b5fc: 6e20 4603 2500 |000a: invoke-virtual {v5, v2}, Ljava/lang/String;.getBytes:(Ljava/lang/String;)[B // method@0346 │ │ -00b602: 0c00 |000d: move-result-object v0 │ │ -00b604: 7030 d301 4300 |000e: invoke-direct {v3, v4, v0}, Lcom/google/android/apps/authenticator/OtpProvider;.getCurrentCode:(Ljava/lang/String;[B)Ljava/lang/String; // method@01d3 │ │ -00b60a: 0c02 |0011: move-result-object v2 │ │ -00b60c: 28f5 |0012: goto 0007 // -000b │ │ -00b60e: 0d01 |0013: move-exception v1 │ │ -00b610: 1a02 0000 |0014: const-string v2, "" // string@0000 │ │ -00b614: 28f1 |0016: goto 0007 // -000f │ │ - catches : 1 │ │ - 0x0008 - 0x0011 │ │ - Ljava/io/UnsupportedEncodingException; -> 0x0013 │ │ + insns size : 4 16-bit code units │ │ +00b8ac: |[00b8ac] com.google.android.apps.authenticator.OtpSourceException.:(Ljava/lang/String;Ljava/lang/Throwable;)V │ │ +00b8bc: 7030 2203 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Exception;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0322 │ │ +00b8c2: 0e00 |0003: return-void │ │ + catches : (none) │ │ positions : │ │ - 0x0000 line=53 │ │ - 0x0002 line=54 │ │ - 0x0007 line=60 │ │ - 0x0008 line=57 │ │ - 0x000e line=58 │ │ - 0x0013 line=59 │ │ - 0x0014 line=60 │ │ + 0x0000 line=30 │ │ + 0x0003 line=31 │ │ locals : │ │ - 0x000e - 0x0013 reg=0 challengeBytes [B │ │ - 0x0014 - 0x0017 reg=1 e Ljava/io/UnsupportedEncodingException; │ │ - 0x0000 - 0x0017 reg=3 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ - 0x0000 - 0x0017 reg=4 accountName Ljava/lang/String; │ │ - 0x0000 - 0x0017 reg=5 challenge Ljava/lang/String; │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/OtpSourceException; │ │ + 0x0000 - 0x0004 reg=1 message Ljava/lang/String; │ │ + 0x0000 - 0x0004 reg=2 cause Ljava/lang/Throwable; │ │ │ │ - source_file_idx : 570 (OtpProvider.java) │ │ + Virtual methods - │ │ + source_file_idx : 569 (OtpSourceException.java) │ │ │ │ -Class #48 header: │ │ -class_idx : 137 │ │ -access_flags : 0 (0x0000) │ │ +Class #34 header: │ │ +class_idx : 138 │ │ +access_flags : 1536 (0x0600) │ │ superclass_idx : 243 │ │ -source_file_idx : 587 │ │ +source_file_idx : 584 │ │ static_fields_size : 0 │ │ -instance_fields_size: 1 │ │ -direct_methods_size : 1 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 0 │ │ virtual_methods_size: 1 │ │ │ │ -Class #48 annotations: │ │ +Class #34 annotations: │ │ Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value= │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1544 name="Signer" │ │ +Annotations on method #482 'sign' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/security/GeneralSecurityException; } │ │ │ │ -Class #48 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/PasscodeGenerator$1;' │ │ - Access flags : 0x0000 () │ │ +Class #34 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;' │ │ + Access flags : 0x0600 (INTERFACE ABSTRACT) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;' │ │ Static fields - │ │ Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator$1;) │ │ - name : 'val$mac' │ │ - type : 'Ljavax/crypto/Mac;' │ │ - access : 0x1010 (FINAL SYNTHETIC) │ │ Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator$1;) │ │ - name : '' │ │ - type : '(Ljavax/crypto/Mac;)V' │ │ - access : 0x10000 (CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 1 │ │ - insns size : 6 16-bit code units │ │ -00b628: |[00b628] com.google.android.apps.authenticator.PasscodeGenerator$1.:(Ljavax/crypto/Mac;)V │ │ -00b638: 5b01 8c00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/PasscodeGenerator$1;.val$mac:Ljavax/crypto/Mac; // field@008c │ │ -00b63c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00b642: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=82 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/PasscodeGenerator$1; │ │ - 0x0000 - 0x0006 reg=1 (null) Ljavax/crypto/Mac; │ │ - │ │ Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator$1;) │ │ + #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;) │ │ name : 'sign' │ │ type : '([B)[B' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 7 16-bit code units │ │ -00b644: |[00b644] com.google.android.apps.authenticator.PasscodeGenerator$1.sign:([B)[B │ │ -00b654: 5410 8c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/PasscodeGenerator$1;.val$mac:Ljavax/crypto/Mac; // field@008c │ │ -00b658: 6e20 7b03 2000 |0002: invoke-virtual {v0, v2}, Ljavax/crypto/Mac;.doFinal:([B)[B // method@037b │ │ -00b65e: 0c00 |0005: move-result-object v0 │ │ -00b660: 1100 |0006: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=85 │ │ - locals : │ │ - 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/PasscodeGenerator$1; │ │ - 0x0000 - 0x0007 reg=2 data [B │ │ + access : 0x0401 (PUBLIC ABSTRACT) │ │ + code : (none) │ │ │ │ - source_file_idx : 587 (PasscodeGenerator.java) │ │ + source_file_idx : 584 (PasscodeGenerator.java) │ │ │ │ -Class #49 header: │ │ +Class #35 header: │ │ class_idx : 139 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ -source_file_idx : 587 │ │ +source_file_idx : 584 │ │ static_fields_size : 4 │ │ instance_fields_size: 2 │ │ direct_methods_size : 6 │ │ virtual_methods_size: 6 │ │ │ │ -Class #49 annotations: │ │ +Class #35 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; } │ │ Annotations on method #487 'generateResponseCode' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/security/GeneralSecurityException; } │ │ Annotations on method #488 'generateResponseCode' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/security/GeneralSecurityException; } │ │ Annotations on method #489 'generateResponseCode' │ │ @@ -10857,15 +5889,15 @@ │ │ Annotations on method #492 'verifyResponseCode' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/security/GeneralSecurityException; } │ │ Annotations on method #493 'verifyTimeoutCode' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/security/GeneralSecurityException; } │ │ Annotations on method #494 'verifyTimeoutCode' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/security/GeneralSecurityException; } │ │ │ │ -Class #49 - │ │ +Class #35 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/PasscodeGenerator;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator;) │ │ name : 'ADJACENT_INTERVALS' │ │ @@ -10902,18 +5934,18 @@ │ │ type : '(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -00b664: |[00b664] com.google.android.apps.authenticator.PasscodeGenerator.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;)V │ │ -00b674: 1260 |0000: const/4 v0, #int 6 // #6 │ │ -00b676: 7030 e401 2100 |0001: invoke-direct {v1, v2, v0}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V // method@01e4 │ │ -00b67c: 0e00 |0004: return-void │ │ +00b8c4: |[00b8c4] com.google.android.apps.authenticator.PasscodeGenerator.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;)V │ │ +00b8d4: 1260 |0000: const/4 v0, #int 6 // #6 │ │ +00b8d6: 7030 e401 2100 |0001: invoke-direct {v1, v2, v0}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V // method@01e4 │ │ +00b8dc: 0e00 |0004: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=74 │ │ 0x0004 line=75 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ 0x0000 - 0x0005 reg=2 signer Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; │ │ @@ -10923,26 +5955,26 @@ │ │ type : '(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -00b680: |[00b680] com.google.android.apps.authenticator.PasscodeGenerator.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V │ │ -00b690: 7010 3a03 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@033a │ │ -00b696: 3a04 0600 |0003: if-ltz v4, 0009 // +0006 │ │ -00b69a: 1300 0900 |0005: const/16 v0, #int 9 // #9 │ │ -00b69e: 3704 0a00 |0007: if-le v4, v0, 0011 // +000a │ │ -00b6a2: 2200 e900 |0009: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ -00b6a6: 1a01 4a02 |000b: const-string v1, "PassCodeLength must be between 1 and 9 digits." // string@024a │ │ -00b6aa: 7020 2603 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ -00b6b0: 2700 |0010: throw v0 │ │ -00b6b2: 5b23 9200 |0011: iput-object v3, v2, Lcom/google/android/apps/authenticator/PasscodeGenerator;.signer:Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; // field@0092 │ │ -00b6b6: 5924 9100 |0013: iput v4, v2, Lcom/google/android/apps/authenticator/PasscodeGenerator;.codeLength:I // field@0091 │ │ -00b6ba: 0e00 |0015: return-void │ │ +00b8e0: |[00b8e0] com.google.android.apps.authenticator.PasscodeGenerator.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V │ │ +00b8f0: 7010 3a03 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@033a │ │ +00b8f6: 3a04 0600 |0003: if-ltz v4, 0009 // +0006 │ │ +00b8fa: 1300 0900 |0005: const/16 v0, #int 9 // #9 │ │ +00b8fe: 3704 0a00 |0007: if-le v4, v0, 0011 // +000a │ │ +00b902: 2200 e900 |0009: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ +00b906: 1a01 4702 |000b: const-string v1, "PassCodeLength must be between 1 and 9 digits." // string@0247 │ │ +00b90a: 7020 2603 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ +00b910: 2700 |0010: throw v0 │ │ +00b912: 5b23 9200 |0011: iput-object v3, v2, Lcom/google/android/apps/authenticator/PasscodeGenerator;.signer:Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; // field@0092 │ │ +00b916: 5924 9100 |0013: iput v4, v2, Lcom/google/android/apps/authenticator/PasscodeGenerator;.codeLength:I // field@0091 │ │ +00b91a: 0e00 |0015: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ 0x0003 line=91 │ │ 0x0009 line=92 │ │ 0x0011 line=96 │ │ 0x0013 line=97 │ │ @@ -10957,18 +5989,18 @@ │ │ type : '(Ljavax/crypto/Mac;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -00b6bc: |[00b6bc] com.google.android.apps.authenticator.PasscodeGenerator.:(Ljavax/crypto/Mac;)V │ │ -00b6cc: 1260 |0000: const/4 v0, #int 6 // #6 │ │ -00b6ce: 7030 e601 2100 |0001: invoke-direct {v1, v2, v0}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Ljavax/crypto/Mac;I)V // method@01e6 │ │ -00b6d4: 0e00 |0004: return-void │ │ +00b91c: |[00b91c] com.google.android.apps.authenticator.PasscodeGenerator.:(Ljavax/crypto/Mac;)V │ │ +00b92c: 1260 |0000: const/4 v0, #int 6 // #6 │ │ +00b92e: 7030 e601 2100 |0001: invoke-direct {v1, v2, v0}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Ljavax/crypto/Mac;I)V // method@01e6 │ │ +00b934: 0e00 |0004: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=70 │ │ 0x0004 line=71 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ 0x0000 - 0x0005 reg=2 mac Ljavax/crypto/Mac; │ │ @@ -10978,19 +6010,19 @@ │ │ type : '(Ljavax/crypto/Mac;I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -00b6d8: |[00b6d8] com.google.android.apps.authenticator.PasscodeGenerator.:(Ljavax/crypto/Mac;I)V │ │ -00b6e8: 2200 8900 |0000: new-instance v0, Lcom/google/android/apps/authenticator/PasscodeGenerator$1; // type@0089 │ │ -00b6ec: 7020 e001 2000 |0002: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/PasscodeGenerator$1;.:(Ljavax/crypto/Mac;)V // method@01e0 │ │ -00b6f2: 7030 e401 0103 |0005: invoke-direct {v1, v0, v3}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V // method@01e4 │ │ -00b6f8: 0e00 |0008: return-void │ │ +00b938: |[00b938] com.google.android.apps.authenticator.PasscodeGenerator.:(Ljavax/crypto/Mac;I)V │ │ +00b948: 2200 8900 |0000: new-instance v0, Lcom/google/android/apps/authenticator/PasscodeGenerator$1; // type@0089 │ │ +00b94c: 7020 e001 2000 |0002: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/PasscodeGenerator$1;.:(Ljavax/crypto/Mac;)V // method@01e0 │ │ +00b952: 7030 e401 0103 |0005: invoke-direct {v1, v0, v3}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V // method@01e4 │ │ +00b958: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x0008 line=88 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ 0x0000 - 0x0009 reg=2 mac Ljavax/crypto/Mac; │ │ @@ -11001,28 +6033,28 @@ │ │ type : '([BI)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 24 16-bit code units │ │ -00b6fc: |[00b6fc] com.google.android.apps.authenticator.PasscodeGenerator.hashToInt:([BI)I │ │ -00b70c: 2201 d800 |0000: new-instance v1, Ljava/io/DataInputStream; // type@00d8 │ │ -00b710: 2203 d600 |0002: new-instance v3, Ljava/io/ByteArrayInputStream; // type@00d6 │ │ -00b714: 2164 |0004: array-length v4, v6 │ │ -00b716: b174 |0005: sub-int/2addr v4, v7 │ │ -00b718: 7040 0c03 6347 |0006: invoke-direct {v3, v6, v7, v4}, Ljava/io/ByteArrayInputStream;.:([BII)V // method@030c │ │ -00b71e: 7020 0e03 3100 |0009: invoke-direct {v1, v3}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@030e │ │ -00b724: 7210 0d03 0100 |000c: invoke-interface {v1}, Ljava/io/DataInput;.readInt:()I // method@030d │ │ -00b72a: 0a02 |000f: move-result v2 │ │ -00b72c: 0f02 |0010: return v2 │ │ -00b72e: 0d00 |0011: move-exception v0 │ │ -00b730: 2203 ea00 |0012: new-instance v3, Ljava/lang/IllegalStateException; // type@00ea │ │ -00b734: 7020 2903 0300 |0014: invoke-direct {v3, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0329 │ │ -00b73a: 2703 |0017: throw v3 │ │ +00b95c: |[00b95c] com.google.android.apps.authenticator.PasscodeGenerator.hashToInt:([BI)I │ │ +00b96c: 2201 d800 |0000: new-instance v1, Ljava/io/DataInputStream; // type@00d8 │ │ +00b970: 2203 d600 |0002: new-instance v3, Ljava/io/ByteArrayInputStream; // type@00d6 │ │ +00b974: 2164 |0004: array-length v4, v6 │ │ +00b976: b174 |0005: sub-int/2addr v4, v7 │ │ +00b978: 7040 0c03 6347 |0006: invoke-direct {v3, v6, v7, v4}, Ljava/io/ByteArrayInputStream;.:([BII)V // method@030c │ │ +00b97e: 7020 0e03 3100 |0009: invoke-direct {v1, v3}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@030e │ │ +00b984: 7210 0d03 0100 |000c: invoke-interface {v1}, Ljava/io/DataInput;.readInt:()I // method@030d │ │ +00b98a: 0a02 |000f: move-result v2 │ │ +00b98c: 0f02 |0010: return v2 │ │ +00b98e: 0d00 |0011: move-exception v0 │ │ +00b990: 2203 ea00 |0012: new-instance v3, Ljava/lang/IllegalStateException; // type@00ea │ │ +00b994: 7020 2903 0300 |0014: invoke-direct {v3, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0329 │ │ +00b99a: 2703 |0017: throw v3 │ │ catches : 1 │ │ 0x000c - 0x000f │ │ Ljava/io/IOException; -> 0x0011 │ │ positions : │ │ 0x0000 line=166 │ │ 0x000c line=170 │ │ 0x0010 line=174 │ │ @@ -11041,33 +6073,33 @@ │ │ type : '(I)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 35 16-bit code units │ │ -00b74c: |[00b74c] com.google.android.apps.authenticator.PasscodeGenerator.padOutput:(I)Ljava/lang/String; │ │ -00b75c: 7110 3103 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.toString:(I)Ljava/lang/String; // method@0331 │ │ -00b762: 0c01 |0003: move-result-object v1 │ │ -00b764: 6e10 4703 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.length:()I // method@0347 │ │ -00b76a: 0a00 |0007: move-result v0 │ │ -00b76c: 5242 9100 |0008: iget v2, v4, Lcom/google/android/apps/authenticator/PasscodeGenerator;.codeLength:I // field@0091 │ │ -00b770: 3520 1800 |000a: if-ge v0, v2, 0022 // +0018 │ │ -00b774: 2202 f900 |000c: new-instance v2, Ljava/lang/StringBuilder; // type@00f9 │ │ -00b778: 7010 5303 0200 |000e: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00b77e: 1a03 1d00 |0011: const-string v3, "0" // string@001d │ │ -00b782: 6e20 5a03 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00b788: 0c02 |0016: move-result-object v2 │ │ -00b78a: 6e20 5a03 1200 |0017: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00b790: 0c02 |001a: move-result-object v2 │ │ -00b792: 6e10 5b03 0200 |001b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00b798: 0c01 |001e: move-result-object v1 │ │ -00b79a: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -00b79e: 28e7 |0021: goto 0008 // -0019 │ │ -00b7a0: 1101 |0022: return-object v1 │ │ +00b9ac: |[00b9ac] com.google.android.apps.authenticator.PasscodeGenerator.padOutput:(I)Ljava/lang/String; │ │ +00b9bc: 7110 3103 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.toString:(I)Ljava/lang/String; // method@0331 │ │ +00b9c2: 0c01 |0003: move-result-object v1 │ │ +00b9c4: 6e10 4703 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.length:()I // method@0347 │ │ +00b9ca: 0a00 |0007: move-result v0 │ │ +00b9cc: 5242 9100 |0008: iget v2, v4, Lcom/google/android/apps/authenticator/PasscodeGenerator;.codeLength:I // field@0091 │ │ +00b9d0: 3520 1800 |000a: if-ge v0, v2, 0022 // +0018 │ │ +00b9d4: 2202 f900 |000c: new-instance v2, Ljava/lang/StringBuilder; // type@00f9 │ │ +00b9d8: 7010 5303 0200 |000e: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00b9de: 1a03 1d00 |0011: const-string v3, "0" // string@001d │ │ +00b9e2: 6e20 5a03 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b9e8: 0c02 |0016: move-result-object v2 │ │ +00b9ea: 6e20 5a03 1200 |0017: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00b9f0: 0c02 |001a: move-result-object v2 │ │ +00b9f2: 6e10 5b03 0200 |001b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00b9f8: 0c01 |001e: move-result-object v1 │ │ +00b9fa: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +00b9fe: 28e7 |0021: goto 0008 // -0019 │ │ +00ba00: 1101 |0022: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=101 │ │ 0x0004 line=102 │ │ 0x000c line=103 │ │ 0x001f line=102 │ │ 0x0022 line=105 │ │ @@ -11079,111 +6111,114 @@ │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator;) │ │ name : 'generateResponseCode' │ │ type : '(J)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ - registers : 5 │ │ + registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 19 16-bit code units │ │ -00b7a4: |[00b7a4] com.google.android.apps.authenticator.PasscodeGenerator.generateResponseCode:(J)Ljava/lang/String; │ │ -00b7b4: 1301 0800 |0000: const/16 v1, #int 8 // #8 │ │ -00b7b8: 7110 6103 0100 |0002: invoke-static {v1}, Ljava/nio/ByteBuffer;.allocate:(I)Ljava/nio/ByteBuffer; // method@0361 │ │ -00b7be: 0c01 |0005: move-result-object v1 │ │ -00b7c0: 6e30 6403 3104 |0006: invoke-virtual {v1, v3, v4}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0364 │ │ -00b7c6: 0c01 |0009: move-result-object v1 │ │ -00b7c8: 6e10 6203 0100 |000a: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@0362 │ │ -00b7ce: 0c00 |000d: move-result-object v0 │ │ -00b7d0: 6e20 e901 0200 |000e: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:([B)Ljava/lang/String; // method@01e9 │ │ -00b7d6: 0c01 |0011: move-result-object v1 │ │ -00b7d8: 1101 |0012: return-object v1 │ │ +00ba04: |[00ba04] com.google.android.apps.authenticator.PasscodeGenerator.generateResponseCode:(J)Ljava/lang/String; │ │ +00ba14: 1301 0800 |0000: const/16 v1, #int 8 // #8 │ │ +00ba18: 7110 6103 0100 |0002: invoke-static {v1}, Ljava/nio/ByteBuffer;.allocate:(I)Ljava/nio/ByteBuffer; // method@0361 │ │ +00ba1e: 0c01 |0005: move-result-object v1 │ │ +00ba20: 6e30 6403 4105 |0006: invoke-virtual {v1, v4, v5}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0364 │ │ +00ba26: 0c01 |0009: move-result-object v1 │ │ +00ba28: 6e10 6203 0100 |000a: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@0362 │ │ +00ba2e: 0c00 |000d: move-result-object v0 │ │ +00ba30: 6e20 e901 0300 |000e: invoke-virtual {v3, v0}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:([B)Ljava/lang/String; // method@01e9 │ │ +00ba36: 0c01 |0011: move-result-object v1 │ │ +00ba38: 1101 |0012: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=115 │ │ 0x000e line=116 │ │ locals : │ │ 0x000e - 0x0013 reg=0 value [B │ │ - 0x0000 - 0x0013 reg=2 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ - 0x0000 - 0x0013 reg=3 state J │ │ + 0x0000 - 0x0013 reg=3 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ + 0x0000 - 0x0013 reg=4 state J │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator;) │ │ name : 'generateResponseCode' │ │ type : '(J[B)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ - registers : 8 │ │ + registers : 9 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 33 16-bit code units │ │ -00b7dc: |[00b7dc] com.google.android.apps.authenticator.PasscodeGenerator.generateResponseCode:(J[B)Ljava/lang/String; │ │ -00b7ec: 3907 0700 |0000: if-nez v7, 0007 // +0007 │ │ -00b7f0: 6e30 e701 5406 |0002: invoke-virtual {v4, v5, v6}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J)Ljava/lang/String; // method@01e7 │ │ -00b7f6: 0c01 |0005: move-result-object v1 │ │ -00b7f8: 1101 |0006: return-object v1 │ │ -00b7fa: 2171 |0007: array-length v1, v7 │ │ -00b7fc: d801 0108 |0008: add-int/lit8 v1, v1, #int 8 // #08 │ │ -00b800: 7110 6103 0100 |000a: invoke-static {v1}, Ljava/nio/ByteBuffer;.allocate:(I)Ljava/nio/ByteBuffer; // method@0361 │ │ -00b806: 0c01 |000d: move-result-object v1 │ │ -00b808: 6e30 6403 5106 |000e: invoke-virtual {v1, v5, v6}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0364 │ │ -00b80e: 0c01 |0011: move-result-object v1 │ │ -00b810: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -00b812: 2173 |0013: array-length v3, v7 │ │ -00b814: 6e40 6303 7132 |0014: invoke-virtual {v1, v7, v2, v3}, Ljava/nio/ByteBuffer;.put:([BII)Ljava/nio/ByteBuffer; // method@0363 │ │ -00b81a: 0c01 |0017: move-result-object v1 │ │ -00b81c: 6e10 6203 0100 |0018: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@0362 │ │ -00b822: 0c00 |001b: move-result-object v0 │ │ -00b824: 6e20 e901 0400 |001c: invoke-virtual {v4, v0}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:([B)Ljava/lang/String; // method@01e9 │ │ -00b82a: 0c01 |001f: move-result-object v1 │ │ -00b82c: 28e6 |0020: goto 0006 // -001a │ │ +00ba3c: |[00ba3c] com.google.android.apps.authenticator.PasscodeGenerator.generateResponseCode:(J[B)Ljava/lang/String; │ │ +00ba4c: 3908 0700 |0000: if-nez v8, 0007 // +0007 │ │ +00ba50: 6e30 e701 6507 |0002: invoke-virtual {v5, v6, v7}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J)Ljava/lang/String; // method@01e7 │ │ +00ba56: 0c01 |0005: move-result-object v1 │ │ +00ba58: 1101 |0006: return-object v1 │ │ +00ba5a: 2181 |0007: array-length v1, v8 │ │ +00ba5c: d801 0108 |0008: add-int/lit8 v1, v1, #int 8 // #08 │ │ +00ba60: 7110 6103 0100 |000a: invoke-static {v1}, Ljava/nio/ByteBuffer;.allocate:(I)Ljava/nio/ByteBuffer; // method@0361 │ │ +00ba66: 0c01 |000d: move-result-object v1 │ │ +00ba68: 6e30 6403 6107 |000e: invoke-virtual {v1, v6, v7}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0364 │ │ +00ba6e: 0c01 |0011: move-result-object v1 │ │ +00ba70: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +00ba72: 2183 |0013: array-length v3, v8 │ │ +00ba74: 6e40 6303 8132 |0014: invoke-virtual {v1, v8, v2, v3}, Ljava/nio/ByteBuffer;.put:([BII)Ljava/nio/ByteBuffer; // method@0363 │ │ +00ba7a: 0c01 |0017: move-result-object v1 │ │ +00ba7c: 6e10 6203 0100 |0018: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@0362 │ │ +00ba82: 0c00 |001b: move-result-object v0 │ │ +00ba84: 6e20 e901 0500 |001c: invoke-virtual {v5, v0}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:([B)Ljava/lang/String; // method@01e9 │ │ +00ba8a: 0c01 |001f: move-result-object v1 │ │ +00ba8c: 28e6 |0020: goto 0006 // -001a │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ 0x0002 line=129 │ │ 0x0006 line=136 │ │ 0x0007 line=132 │ │ + 0x000e line=133 │ │ + 0x0014 line=134 │ │ + 0x0018 line=135 │ │ 0x001c line=136 │ │ locals : │ │ 0x001c - 0x0021 reg=0 value [B │ │ - 0x0000 - 0x0021 reg=4 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ - 0x0000 - 0x0021 reg=5 state J │ │ - 0x0000 - 0x0021 reg=7 challenge [B │ │ + 0x0000 - 0x0021 reg=5 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ + 0x0000 - 0x0021 reg=6 state J │ │ + 0x0000 - 0x0021 reg=8 challenge [B │ │ │ │ #2 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator;) │ │ name : 'generateResponseCode' │ │ type : '([B)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 39 16-bit code units │ │ -00b830: |[00b830] com.google.android.apps.authenticator.PasscodeGenerator.generateResponseCode:([B)Ljava/lang/String; │ │ -00b840: 5484 9200 |0000: iget-object v4, v8, Lcom/google/android/apps/authenticator/PasscodeGenerator;.signer:Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; // field@0092 │ │ -00b844: 7220 e201 9400 |0002: invoke-interface {v4, v9}, Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;.sign:([B)[B // method@01e2 │ │ -00b84a: 0c00 |0005: move-result-object v0 │ │ -00b84c: 2104 |0006: array-length v4, v0 │ │ -00b84e: d804 04ff |0007: add-int/lit8 v4, v4, #int -1 // #ff │ │ -00b852: 4804 0004 |0009: aget-byte v4, v0, v4 │ │ -00b856: dd01 040f |000b: and-int/lit8 v1, v4, #int 15 // #0f │ │ -00b85a: 7030 ea01 0801 |000d: invoke-direct {v8, v0, v1}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.hashToInt:([BI)I // method@01ea │ │ -00b860: 0a04 |0010: move-result v4 │ │ -00b862: 1405 ffff ff7f |0011: const v5, #float nan // #7fffffff │ │ -00b868: 9503 0405 |0014: and-int v3, v4, v5 │ │ -00b86c: 1904 2440 |0016: const-wide/high16 v4, #long 4621819117588971520 // #4024 │ │ -00b870: 5286 9100 |0018: iget v6, v8, Lcom/google/android/apps/authenticator/PasscodeGenerator;.codeLength:I // field@0091 │ │ -00b874: 8366 |001a: int-to-double v6, v6 │ │ -00b876: 7140 3603 5476 |001b: invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;.pow:(DD)D // method@0336 │ │ -00b87c: 0b04 |001e: move-result-wide v4 │ │ -00b87e: 8a44 |001f: double-to-int v4, v4 │ │ -00b880: 9402 0304 |0020: rem-int v2, v3, v4 │ │ -00b884: 7020 eb01 2800 |0022: invoke-direct {v8, v2}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.padOutput:(I)Ljava/lang/String; // method@01eb │ │ -00b88a: 0c04 |0025: move-result-object v4 │ │ -00b88c: 1104 |0026: return-object v4 │ │ +00ba90: |[00ba90] com.google.android.apps.authenticator.PasscodeGenerator.generateResponseCode:([B)Ljava/lang/String; │ │ +00baa0: 5484 9200 |0000: iget-object v4, v8, Lcom/google/android/apps/authenticator/PasscodeGenerator;.signer:Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; // field@0092 │ │ +00baa4: 7220 e201 9400 |0002: invoke-interface {v4, v9}, Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;.sign:([B)[B // method@01e2 │ │ +00baaa: 0c00 |0005: move-result-object v0 │ │ +00baac: 2104 |0006: array-length v4, v0 │ │ +00baae: d804 04ff |0007: add-int/lit8 v4, v4, #int -1 // #ff │ │ +00bab2: 4804 0004 |0009: aget-byte v4, v0, v4 │ │ +00bab6: dd01 040f |000b: and-int/lit8 v1, v4, #int 15 // #0f │ │ +00baba: 7030 ea01 0801 |000d: invoke-direct {v8, v0, v1}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.hashToInt:([BI)I // method@01ea │ │ +00bac0: 0a04 |0010: move-result v4 │ │ +00bac2: 1405 ffff ff7f |0011: const v5, #float nan // #7fffffff │ │ +00bac8: 9503 0405 |0014: and-int v3, v4, v5 │ │ +00bacc: 1904 2440 |0016: const-wide/high16 v4, #long 4621819117588971520 // #4024 │ │ +00bad0: 5286 9100 |0018: iget v6, v8, Lcom/google/android/apps/authenticator/PasscodeGenerator;.codeLength:I // field@0091 │ │ +00bad4: 8366 |001a: int-to-double v6, v6 │ │ +00bad6: 7140 3603 5476 |001b: invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;.pow:(DD)D // method@0336 │ │ +00badc: 0b04 |001e: move-result-wide v4 │ │ +00bade: 8a44 |001f: double-to-int v4, v4 │ │ +00bae0: 9402 0304 |0020: rem-int v2, v3, v4 │ │ +00bae4: 7020 eb01 2800 |0022: invoke-direct {v8, v2}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.padOutput:(I)Ljava/lang/String; // method@01eb │ │ +00baea: 0c04 |0025: move-result-object v4 │ │ +00baec: 1104 |0026: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=147 │ │ 0x0006 line=151 │ │ 0x000d line=153 │ │ 0x0016 line=154 │ │ 0x0022 line=155 │ │ @@ -11196,90 +6231,90 @@ │ │ 0x0000 - 0x0027 reg=9 challenge [B │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator;) │ │ name : 'verifyResponseCode' │ │ type : '(JLjava/lang/String;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ - registers : 6 │ │ + registers : 7 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 10 16-bit code units │ │ -00b890: |[00b890] com.google.android.apps.authenticator.PasscodeGenerator.verifyResponseCode:(JLjava/lang/String;)Z │ │ -00b8a0: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -00b8a2: 6e40 e801 3214 |0001: invoke-virtual {v2, v3, v4, v1}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J[B)Ljava/lang/String; // method@01e8 │ │ -00b8a8: 0c00 |0004: move-result-object v0 │ │ -00b8aa: 6e20 4403 5000 |0005: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -00b8b0: 0a01 |0008: move-result v1 │ │ -00b8b2: 0f01 |0009: return v1 │ │ +00baf0: |[00baf0] com.google.android.apps.authenticator.PasscodeGenerator.verifyResponseCode:(JLjava/lang/String;)Z │ │ +00bb00: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +00bb02: 6e40 e801 4315 |0001: invoke-virtual {v3, v4, v5, v1}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J[B)Ljava/lang/String; // method@01e8 │ │ +00bb08: 0c00 |0004: move-result-object v0 │ │ +00bb0a: 6e20 4403 6000 |0005: invoke-virtual {v0, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00bb10: 0a01 |0008: move-result v1 │ │ +00bb12: 0f01 |0009: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=184 │ │ 0x0005 line=185 │ │ locals : │ │ 0x0005 - 0x000a reg=0 expectedResponse Ljava/lang/String; │ │ - 0x0000 - 0x000a reg=2 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ - 0x0000 - 0x000a reg=3 challenge J │ │ - 0x0000 - 0x000a reg=5 response Ljava/lang/String; │ │ + 0x0000 - 0x000a reg=3 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ + 0x0000 - 0x000a reg=4 challenge J │ │ + 0x0000 - 0x000a reg=6 response Ljava/lang/String; │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator;) │ │ name : 'verifyTimeoutCode' │ │ type : '(JLjava/lang/String;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ - registers : 10 │ │ + registers : 11 │ │ ins : 4 │ │ outs : 6 │ │ insns size : 10 16-bit code units │ │ -00b8b4: |[00b8b4] com.google.android.apps.authenticator.PasscodeGenerator.verifyTimeoutCode:(JLjava/lang/String;)Z │ │ -00b8c4: 1214 |0000: const/4 v4, #int 1 // #1 │ │ -00b8c6: 0760 |0001: move-object v0, v6 │ │ -00b8c8: 0791 |0002: move-object v1, v9 │ │ -00b8ca: 0472 |0003: move-wide v2, v7 │ │ -00b8cc: 0145 |0004: move v5, v4 │ │ -00b8ce: 7406 ee01 0000 |0005: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.verifyTimeoutCode:(Ljava/lang/String;JII)Z // method@01ee │ │ -00b8d4: 0a00 |0008: move-result v0 │ │ -00b8d6: 0f00 |0009: return v0 │ │ +00bb14: |[00bb14] com.google.android.apps.authenticator.PasscodeGenerator.verifyTimeoutCode:(JLjava/lang/String;)Z │ │ +00bb24: 1214 |0000: const/4 v4, #int 1 // #1 │ │ +00bb26: 0770 |0001: move-object v0, v7 │ │ +00bb28: 07a1 |0002: move-object v1, v10 │ │ +00bb2a: 0482 |0003: move-wide v2, v8 │ │ +00bb2c: 0145 |0004: move v5, v4 │ │ +00bb2e: 7406 ee01 0000 |0005: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.verifyTimeoutCode:(Ljava/lang/String;JII)Z // method@01ee │ │ +00bb34: 0a00 |0008: move-result v0 │ │ +00bb36: 0f00 |0009: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=198 │ │ locals : │ │ - 0x0000 - 0x000a reg=6 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ - 0x0000 - 0x000a reg=7 currentInterval J │ │ - 0x0000 - 0x000a reg=9 timeoutCode Ljava/lang/String; │ │ + 0x0000 - 0x000a reg=7 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ + 0x0000 - 0x000a reg=8 currentInterval J │ │ + 0x0000 - 0x000a reg=10 timeoutCode Ljava/lang/String; │ │ │ │ #5 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator;) │ │ name : 'verifyTimeoutCode' │ │ type : '(Ljava/lang/String;JII)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 12 │ │ ins : 6 │ │ outs : 4 │ │ insns size : 31 16-bit code units │ │ -00b8d8: |[00b8d8] com.google.android.apps.authenticator.PasscodeGenerator.verifyTimeoutCode:(Ljava/lang/String;JII)Z │ │ -00b8e8: 1202 |0000: const/4 v2, #int 0 // #0 │ │ -00b8ea: 7120 3503 2a00 |0001: invoke-static {v10, v2}, Ljava/lang/Math;.max:(II)I // method@0335 │ │ -00b8f0: 0a0a |0004: move-result v10 │ │ -00b8f2: 7120 3503 2b00 |0005: invoke-static {v11, v2}, Ljava/lang/Math;.max:(II)I // method@0335 │ │ -00b8f8: 0a0b |0008: move-result v11 │ │ -00b8fa: 7ba1 |0009: neg-int v1, v10 │ │ -00b8fc: 36b1 1100 |000a: if-gt v1, v11, 001b // +0011 │ │ -00b900: 8113 |000c: int-to-long v3, v1 │ │ -00b902: 9c03 0803 |000d: sub-long v3, v8, v3 │ │ -00b906: 1205 |000f: const/4 v5, #int 0 // #0 │ │ -00b908: 6e40 e801 3654 |0010: invoke-virtual {v6, v3, v4, v5}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J[B)Ljava/lang/String; // method@01e8 │ │ -00b90e: 0c00 |0013: move-result-object v0 │ │ -00b910: 6e20 4403 7000 |0014: invoke-virtual {v0, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -00b916: 0a03 |0017: move-result v3 │ │ -00b918: 3803 0400 |0018: if-eqz v3, 001c // +0004 │ │ -00b91c: 1212 |001a: const/4 v2, #int 1 // #1 │ │ -00b91e: 0f02 |001b: return v2 │ │ -00b920: d801 0101 |001c: add-int/lit8 v1, v1, #int 1 // #01 │ │ -00b924: 28ec |001e: goto 000a // -0014 │ │ +00bb38: |[00bb38] com.google.android.apps.authenticator.PasscodeGenerator.verifyTimeoutCode:(Ljava/lang/String;JII)Z │ │ +00bb48: 1202 |0000: const/4 v2, #int 0 // #0 │ │ +00bb4a: 7120 3503 2a00 |0001: invoke-static {v10, v2}, Ljava/lang/Math;.max:(II)I // method@0335 │ │ +00bb50: 0a0a |0004: move-result v10 │ │ +00bb52: 7120 3503 2b00 |0005: invoke-static {v11, v2}, Ljava/lang/Math;.max:(II)I // method@0335 │ │ +00bb58: 0a0b |0008: move-result v11 │ │ +00bb5a: 7ba1 |0009: neg-int v1, v10 │ │ +00bb5c: 36b1 1100 |000a: if-gt v1, v11, 001b // +0011 │ │ +00bb60: 8114 |000c: int-to-long v4, v1 │ │ +00bb62: 9c04 0804 |000d: sub-long v4, v8, v4 │ │ +00bb66: 1203 |000f: const/4 v3, #int 0 // #0 │ │ +00bb68: 6e40 e801 4635 |0010: invoke-virtual {v6, v4, v5, v3}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J[B)Ljava/lang/String; // method@01e8 │ │ +00bb6e: 0c00 |0013: move-result-object v0 │ │ +00bb70: 6e20 4403 7000 |0014: invoke-virtual {v0, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00bb76: 0a03 |0017: move-result v3 │ │ +00bb78: 3803 0400 |0018: if-eqz v3, 001c // +0004 │ │ +00bb7c: 1212 |001a: const/4 v2, #int 1 // #1 │ │ +00bb7e: 0f02 |001b: return v2 │ │ +00bb80: d801 0101 |001c: add-int/lit8 v1, v1, #int 1 // #01 │ │ +00bb84: 28ec |001e: goto 000a // -0014 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=217 │ │ 0x0005 line=218 │ │ 0x0009 line=221 │ │ 0x000c line=222 │ │ 0x0014 line=223 │ │ @@ -11292,31 +6327,31 @@ │ │ 0x000a - 0x001f reg=1 i I │ │ 0x0000 - 0x001f reg=6 this Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ 0x0000 - 0x001f reg=7 timeoutCode Ljava/lang/String; │ │ 0x0000 - 0x001f reg=8 currentInterval J │ │ 0x0000 - 0x001f reg=10 pastIntervals I │ │ 0x0000 - 0x001f reg=11 futureIntervals I │ │ │ │ - source_file_idx : 587 (PasscodeGenerator.java) │ │ + source_file_idx : 584 (PasscodeGenerator.java) │ │ │ │ -Class #50 header: │ │ +Class #36 header: │ │ class_idx : 140 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 590 │ │ +source_file_idx : 587 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 5 │ │ virtual_methods_size: 0 │ │ │ │ -Class #50 annotations: │ │ +Class #36 annotations: │ │ Annotations on method #497 'checkNotNull' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(TT;)TT;" } │ │ │ │ -Class #50 - │ │ +Class #36 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/Preconditions;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ @@ -11325,17 +6360,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00b928: |[00b928] com.google.android.apps.authenticator.Preconditions.:()V │ │ -00b938: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00b93e: 0e00 |0003: return-void │ │ +00bb88: |[00bb88] com.google.android.apps.authenticator.Preconditions.:()V │ │ +00bb98: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00bb9e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/Preconditions; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/Preconditions;) │ │ @@ -11343,20 +6378,20 @@ │ │ type : '(Z)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00b940: |[00b940] com.google.android.apps.authenticator.Preconditions.checkArgument:(Z)V │ │ -00b950: 3901 0800 |0000: if-nez v1, 0008 // +0008 │ │ -00b954: 2200 e900 |0002: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ -00b958: 7010 2503 0000 |0004: invoke-direct {v0}, Ljava/lang/IllegalArgumentException;.:()V // method@0325 │ │ -00b95e: 2700 |0007: throw v0 │ │ -00b960: 0e00 |0008: return-void │ │ +00bba0: |[00bba0] com.google.android.apps.authenticator.Preconditions.checkArgument:(Z)V │ │ +00bbb0: 3901 0800 |0000: if-nez v1, 0008 // +0008 │ │ +00bbb4: 2200 e900 |0002: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ +00bbb8: 7010 2503 0000 |0004: invoke-direct {v0}, Ljava/lang/IllegalArgumentException;.:()V // method@0325 │ │ +00bbbe: 2700 |0007: throw v0 │ │ +00bbc0: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=51 │ │ 0x0002 line=52 │ │ 0x0008 line=54 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 expression Z │ │ @@ -11366,20 +6401,20 @@ │ │ type : '(Ljava/lang/Object;)Ljava/lang/Object;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00b964: |[00b964] com.google.android.apps.authenticator.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object; │ │ -00b974: 3901 0800 |0000: if-nez v1, 0008 // +0008 │ │ -00b978: 2200 f100 |0002: new-instance v0, Ljava/lang/NullPointerException; // type@00f1 │ │ -00b97c: 7010 3803 0000 |0004: invoke-direct {v0}, Ljava/lang/NullPointerException;.:()V // method@0338 │ │ -00b982: 2700 |0007: throw v0 │ │ -00b984: 1101 |0008: return-object v1 │ │ +00bbc4: |[00bbc4] com.google.android.apps.authenticator.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object; │ │ +00bbd4: 3901 0800 |0000: if-nez v1, 0008 // +0008 │ │ +00bbd8: 2200 f100 |0002: new-instance v0, Ljava/lang/NullPointerException; // type@00f1 │ │ +00bbdc: 7010 3803 0000 |0004: invoke-direct {v0}, Ljava/lang/NullPointerException;.:()V // method@0338 │ │ +00bbe2: 2700 |0007: throw v0 │ │ +00bbe4: 1101 |0008: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ 0x0002 line=40 │ │ 0x0008 line=42 │ │ locals : │ │ 0x0000 - 0x0000 reg=1 (null) Ljava/lang/Object; │ │ @@ -11390,20 +6425,20 @@ │ │ type : '(Z)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00b988: |[00b988] com.google.android.apps.authenticator.Preconditions.checkState:(Z)V │ │ -00b998: 3901 0800 |0000: if-nez v1, 0008 // +0008 │ │ -00b99c: 2200 ea00 |0002: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ -00b9a0: 7010 2703 0000 |0004: invoke-direct {v0}, Ljava/lang/IllegalStateException;.:()V // method@0327 │ │ -00b9a6: 2700 |0007: throw v0 │ │ -00b9a8: 0e00 |0008: return-void │ │ +00bbe8: |[00bbe8] com.google.android.apps.authenticator.Preconditions.checkState:(Z)V │ │ +00bbf8: 3901 0800 |0000: if-nez v1, 0008 // +0008 │ │ +00bbfc: 2200 ea00 |0002: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ +00bc00: 7010 2703 0000 |0004: invoke-direct {v0}, Ljava/lang/IllegalStateException;.:()V // method@0327 │ │ +00bc06: 2700 |0007: throw v0 │ │ +00bc08: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=63 │ │ 0x0002 line=64 │ │ 0x0008 line=66 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 expression Z │ │ @@ -11413,45 +6448,45 @@ │ │ type : '(ZLjava/lang/Object;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 13 16-bit code units │ │ -00b9ac: |[00b9ac] com.google.android.apps.authenticator.Preconditions.checkState:(ZLjava/lang/Object;)V │ │ -00b9bc: 3902 0c00 |0000: if-nez v2, 000c // +000c │ │ -00b9c0: 2200 ea00 |0002: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ -00b9c4: 7110 5203 0300 |0004: invoke-static {v3}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ -00b9ca: 0c01 |0007: move-result-object v1 │ │ -00b9cc: 7020 2803 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ -00b9d2: 2700 |000b: throw v0 │ │ -00b9d4: 0e00 |000c: return-void │ │ +00bc0c: |[00bc0c] com.google.android.apps.authenticator.Preconditions.checkState:(ZLjava/lang/Object;)V │ │ +00bc1c: 3902 0c00 |0000: if-nez v2, 000c // +000c │ │ +00bc20: 2200 ea00 |0002: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ +00bc24: 7110 5203 0300 |0004: invoke-static {v3}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ +00bc2a: 0c01 |0007: move-result-object v1 │ │ +00bc2c: 7020 2803 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ +00bc32: 2700 |000b: throw v0 │ │ +00bc34: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=78 │ │ 0x0002 line=79 │ │ 0x000c line=81 │ │ locals : │ │ 0x0000 - 0x000d reg=2 expression Z │ │ 0x0000 - 0x000d reg=3 errorMessage Ljava/lang/Object; │ │ │ │ Virtual methods - │ │ - source_file_idx : 590 (Preconditions.java) │ │ + source_file_idx : 587 (Preconditions.java) │ │ │ │ -Class #51 header: │ │ +Class #37 header: │ │ class_idx : 141 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ -source_file_idx : 600 │ │ +source_file_idx : 597 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #51 - │ │ +Class #37 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Ljava/util/concurrent/Executor;' │ │ Static fields - │ │ Instance fields - │ │ @@ -11465,20 +6500,20 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -00b9d8: |[00b9d8] com.google.android.apps.authenticator.RunOnThisLooperThreadExecutor.:()V │ │ -00b9e8: 7010 3a03 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ -00b9ee: 2200 2f00 |0003: new-instance v0, Landroid/os/Handler; // type@002f │ │ -00b9f2: 7010 7a00 0000 |0005: invoke-direct {v0}, Landroid/os/Handler;.:()V // method@007a │ │ -00b9f8: 5b10 9300 |0008: iput-object v0, v1, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor;.mHandler:Landroid/os/Handler; // field@0093 │ │ -00b9fc: 0e00 |000a: return-void │ │ +00bc38: |[00bc38] com.google.android.apps.authenticator.RunOnThisLooperThreadExecutor.:()V │ │ +00bc48: 7010 3a03 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ +00bc4e: 2200 2f00 |0003: new-instance v0, Landroid/os/Handler; // type@002f │ │ +00bc52: 7010 7a00 0000 |0005: invoke-direct {v0}, Landroid/os/Handler;.:()V // method@007a │ │ +00bc58: 5b10 9300 |0008: iput-object v0, v1, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor;.mHandler:Landroid/os/Handler; // field@0093 │ │ +00bc5c: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=29 │ │ 0x0003 line=31 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor; │ │ │ │ @@ -11488,297 +6523,51 @@ │ │ type : '(Ljava/lang/Runnable;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -00ba00: |[00ba00] com.google.android.apps.authenticator.RunOnThisLooperThreadExecutor.execute:(Ljava/lang/Runnable;)V │ │ -00ba10: 7100 5d03 0000 |0000: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@035d │ │ -00ba16: 0c00 |0003: move-result-object v0 │ │ -00ba18: 5421 9300 |0004: iget-object v1, v2, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor;.mHandler:Landroid/os/Handler; // field@0093 │ │ -00ba1c: 6e10 7b00 0100 |0006: invoke-virtual {v1}, Landroid/os/Handler;.getLooper:()Landroid/os/Looper; // method@007b │ │ -00ba22: 0c01 |0009: move-result-object v1 │ │ -00ba24: 6e10 8000 0100 |000a: invoke-virtual {v1}, Landroid/os/Looper;.getThread:()Ljava/lang/Thread; // method@0080 │ │ -00ba2a: 0c01 |000d: move-result-object v1 │ │ -00ba2c: 3310 0600 |000e: if-ne v0, v1, 0014 // +0006 │ │ -00ba30: 7210 3e03 0300 |0010: invoke-interface {v3}, Ljava/lang/Runnable;.run:()V // method@033e │ │ -00ba36: 0e00 |0013: return-void │ │ -00ba38: 5420 9300 |0014: iget-object v0, v2, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor;.mHandler:Landroid/os/Handler; // field@0093 │ │ -00ba3c: 6e20 7c00 3000 |0016: invoke-virtual {v0, v3}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@007c │ │ -00ba42: 28fa |0019: goto 0013 // -0006 │ │ +00bc60: |[00bc60] com.google.android.apps.authenticator.RunOnThisLooperThreadExecutor.execute:(Ljava/lang/Runnable;)V │ │ +00bc70: 7100 5d03 0000 |0000: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@035d │ │ +00bc76: 0c00 |0003: move-result-object v0 │ │ +00bc78: 5421 9300 |0004: iget-object v1, v2, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor;.mHandler:Landroid/os/Handler; // field@0093 │ │ +00bc7c: 6e10 7b00 0100 |0006: invoke-virtual {v1}, Landroid/os/Handler;.getLooper:()Landroid/os/Looper; // method@007b │ │ +00bc82: 0c01 |0009: move-result-object v1 │ │ +00bc84: 6e10 8000 0100 |000a: invoke-virtual {v1}, Landroid/os/Looper;.getThread:()Ljava/lang/Thread; // method@0080 │ │ +00bc8a: 0c01 |000d: move-result-object v1 │ │ +00bc8c: 3310 0600 |000e: if-ne v0, v1, 0014 // +0006 │ │ +00bc90: 7210 3e03 0300 |0010: invoke-interface {v3}, Ljava/lang/Runnable;.run:()V // method@033e │ │ +00bc96: 0e00 |0013: return-void │ │ +00bc98: 5420 9300 |0014: iget-object v0, v2, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor;.mHandler:Landroid/os/Handler; // field@0093 │ │ +00bc9c: 6e20 7c00 3000 |0016: invoke-virtual {v0, v3}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@007c │ │ +00bca2: 28fa |0019: goto 0013 // -0006 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ 0x0010 line=38 │ │ 0x0013 line=44 │ │ 0x0014 line=42 │ │ locals : │ │ 0x0000 - 0x001a reg=2 this Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor; │ │ 0x0000 - 0x001a reg=3 command Ljava/lang/Runnable; │ │ │ │ - source_file_idx : 600 (RunOnThisLooperThreadExecutor.java) │ │ - │ │ -Class #52 header: │ │ -class_idx : 171 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 58 │ │ -source_file_idx : 645 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 2 │ │ - │ │ -Class #52 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Landroid/preference/PreferenceActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00ba44: |[00ba44] com.google.android.apps.authenticator.testability.TestablePreferenceActivity.:()V │ │ -00ba54: 7010 8e00 0000 |0000: invoke-direct {v0}, Landroid/preference/PreferenceActivity;.:()V // method@008e │ │ -00ba5a: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=27 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;) │ │ - name : 'startActivity' │ │ - type : '(Landroid/content/Intent;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 17 16-bit code units │ │ -00ba5c: |[00ba5c] com.google.android.apps.authenticator.testability.TestablePreferenceActivity.startActivity:(Landroid/content/Intent;)V │ │ -00ba6c: 7100 6b02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; // method@026b │ │ -00ba72: 0c00 |0003: move-result-object v0 │ │ -00ba74: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -00ba78: 7230 7d02 2003 |0006: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/testability/StartActivityListener;.onStartActivityInvoked:(Landroid/content/Context;Landroid/content/Intent;)Z // method@027d │ │ -00ba7e: 0a01 |0009: move-result v1 │ │ -00ba80: 3801 0300 |000a: if-eqz v1, 000d // +0003 │ │ -00ba84: 0e00 |000c: return-void │ │ -00ba86: 6f20 8f00 3200 |000d: invoke-super {v2, v3}, Landroid/preference/PreferenceActivity;.startActivity:(Landroid/content/Intent;)V // method@008f │ │ -00ba8c: 28fc |0010: goto 000c // -0004 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=31 │ │ - 0x0004 line=32 │ │ - 0x000c line=37 │ │ - 0x000d line=36 │ │ - locals : │ │ - 0x0004 - 0x0011 reg=0 listener Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ - 0x0000 - 0x0011 reg=2 this Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity; │ │ - 0x0000 - 0x0011 reg=3 intent Landroid/content/Intent; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;) │ │ - name : 'startActivityForResult' │ │ - type : '(Landroid/content/Intent;I)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 5 │ │ - ins : 3 │ │ - outs : 3 │ │ - insns size : 17 16-bit code units │ │ -00ba90: |[00ba90] com.google.android.apps.authenticator.testability.TestablePreferenceActivity.startActivityForResult:(Landroid/content/Intent;I)V │ │ -00baa0: 7100 6b02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; // method@026b │ │ -00baa6: 0c00 |0003: move-result-object v0 │ │ -00baa8: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -00baac: 7230 7d02 2003 |0006: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/testability/StartActivityListener;.onStartActivityInvoked:(Landroid/content/Context;Landroid/content/Intent;)Z // method@027d │ │ -00bab2: 0a01 |0009: move-result v1 │ │ -00bab4: 3801 0300 |000a: if-eqz v1, 000d // +0003 │ │ -00bab8: 0e00 |000c: return-void │ │ -00baba: 6f30 9000 3204 |000d: invoke-super {v2, v3, v4}, Landroid/preference/PreferenceActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0090 │ │ -00bac0: 28fc |0010: goto 000c // -0004 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=41 │ │ - 0x0004 line=42 │ │ - 0x000c line=47 │ │ - 0x000d line=46 │ │ - locals : │ │ - 0x0004 - 0x0011 reg=0 listener Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ - 0x0000 - 0x0011 reg=2 this Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity; │ │ - 0x0000 - 0x0011 reg=3 intent Landroid/content/Intent; │ │ - 0x0000 - 0x0011 reg=4 requestCode I │ │ - │ │ - source_file_idx : 645 (TestablePreferenceActivity.java) │ │ - │ │ -Class #53 header: │ │ -class_idx : 142 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 171 │ │ -source_file_idx : 614 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 1 │ │ - │ │ -Class #53 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/SettingsAboutActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/SettingsAboutActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00bac4: |[00bac4] com.google.android.apps.authenticator.SettingsAboutActivity.:()V │ │ -00bad4: 7010 8a02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.:()V // method@028a │ │ -00bada: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=30 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/SettingsAboutActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/SettingsAboutActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 6 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 38 16-bit code units │ │ -00badc: |[00badc] com.google.android.apps.authenticator.SettingsAboutActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00baec: 6f20 8b02 5400 |0000: invoke-super {v4, v5}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.onCreate:(Landroid/os/Bundle;)V // method@028b │ │ -00baf2: 1401 0100 047f |0003: const v1, #float 1.75458e+38 // #7f040001 │ │ -00baf8: 6e20 f701 1400 |0006: invoke-virtual {v4, v1}, Lcom/google/android/apps/authenticator/SettingsAboutActivity;.addPreferencesFromResource:(I)V // method@01f7 │ │ -00bafe: 1a00 0000 |0009: const-string v0, "" // string@0000 │ │ -00bb02: 6e10 f901 0400 |000b: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/SettingsAboutActivity;.getPackageManager:()Landroid/content/pm/PackageManager; // method@01f9 │ │ -00bb08: 0c01 |000e: move-result-object v1 │ │ -00bb0a: 6e10 fa01 0400 |000f: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/SettingsAboutActivity;.getPackageName:()Ljava/lang/String; // method@01fa │ │ -00bb10: 0c02 |0012: move-result-object v2 │ │ -00bb12: 1203 |0013: const/4 v3, #int 0 // #0 │ │ -00bb14: 6e30 4700 2103 |0014: invoke-virtual {v1, v2, v3}, Landroid/content/pm/PackageManager;.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo; // method@0047 │ │ -00bb1a: 0c01 |0017: move-result-object v1 │ │ -00bb1c: 5410 0200 |0018: iget-object v0, v1, Landroid/content/pm/PackageInfo;.versionName:Ljava/lang/String; // field@0002 │ │ -00bb20: 1a01 df06 |001a: const-string v1, "version" // string@06df │ │ -00bb24: 6e20 f801 1400 |001c: invoke-virtual {v4, v1}, Lcom/google/android/apps/authenticator/SettingsAboutActivity;.findPreference:(Ljava/lang/CharSequence;)Landroid/preference/Preference; // method@01f8 │ │ -00bb2a: 0c01 |001f: move-result-object v1 │ │ -00bb2c: 6e20 8d00 0100 |0020: invoke-virtual {v1, v0}, Landroid/preference/Preference;.setSummary:(Ljava/lang/CharSequence;)V // method@008d │ │ -00bb32: 0e00 |0023: return-void │ │ -00bb34: 0d01 |0024: move-exception v1 │ │ -00bb36: 28f5 |0025: goto 001a // -000b │ │ - catches : 1 │ │ - 0x000b - 0x001a │ │ - Landroid/content/pm/PackageManager$NameNotFoundException; -> 0x0024 │ │ - positions : │ │ - 0x0000 line=34 │ │ - 0x0003 line=36 │ │ - 0x0009 line=38 │ │ - 0x000b line=40 │ │ - 0x001a line=42 │ │ - 0x0023 line=43 │ │ - 0x0024 line=41 │ │ - locals : │ │ - 0x000b - 0x0026 reg=0 packageVersion Ljava/lang/String; │ │ - 0x0000 - 0x0026 reg=4 this Lcom/google/android/apps/authenticator/SettingsAboutActivity; │ │ - 0x0000 - 0x0026 reg=5 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - source_file_idx : 614 (SettingsAboutActivity.java) │ │ - │ │ -Class #54 header: │ │ -class_idx : 143 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 171 │ │ -source_file_idx : 615 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 1 │ │ - │ │ -Class #54 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/SettingsActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/SettingsActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00bb44: |[00bb44] com.google.android.apps.authenticator.SettingsActivity.:()V │ │ -00bb54: 7010 8a02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.:()V // method@028a │ │ -00bb5a: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=29 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/SettingsActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/SettingsActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 3 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 9 16-bit code units │ │ -00bb5c: |[00bb5c] com.google.android.apps.authenticator.SettingsActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00bb6c: 6f20 8b02 2100 |0000: invoke-super {v1, v2}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.onCreate:(Landroid/os/Bundle;)V // method@028b │ │ -00bb72: 1500 047f |0003: const/high16 v0, #int 2130968576 // #7f04 │ │ -00bb76: 6e20 fd01 0100 |0005: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/SettingsActivity;.addPreferencesFromResource:(I)V // method@01fd │ │ -00bb7c: 0e00 |0008: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=33 │ │ - 0x0003 line=35 │ │ - 0x0008 line=36 │ │ - locals : │ │ - 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/SettingsActivity; │ │ - 0x0000 - 0x0009 reg=2 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - source_file_idx : 615 (SettingsActivity.java) │ │ + source_file_idx : 597 (RunOnThisLooperThreadExecutor.java) │ │ │ │ -Class #55 header: │ │ +Class #38 header: │ │ class_idx : 144 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ -source_file_idx : 657 │ │ +source_file_idx : 654 │ │ static_fields_size : 1 │ │ instance_fields_size: 3 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 3 │ │ │ │ -Class #55 - │ │ +Class #38 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/TotpClock;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/TotpClock;) │ │ name : 'PREFERENCE_KEY_OFFSET_MINUTES' │ │ @@ -11804,23 +6593,23 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 17 16-bit code units │ │ -00bb80: |[00bb80] com.google.android.apps.authenticator.TotpClock.:(Landroid/content/Context;)V │ │ -00bb90: 7010 3a03 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ -00bb96: 2200 f300 |0003: new-instance v0, Ljava/lang/Object; // type@00f3 │ │ -00bb9a: 7010 3a03 0000 |0005: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00bba0: 5b10 9600 |0008: iput-object v0, v1, Lcom/google/android/apps/authenticator/TotpClock;.mLock:Ljava/lang/Object; // field@0096 │ │ -00bba4: 7110 9100 0200 |000a: invoke-static {v2}, Landroid/preference/PreferenceManager;.getDefaultSharedPreferences:(Landroid/content/Context;)Landroid/content/SharedPreferences; // method@0091 │ │ -00bbaa: 0c00 |000d: move-result-object v0 │ │ -00bbac: 5b10 9700 |000e: iput-object v0, v1, Lcom/google/android/apps/authenticator/TotpClock;.mPreferences:Landroid/content/SharedPreferences; // field@0097 │ │ -00bbb0: 0e00 |0010: return-void │ │ +00bca4: |[00bca4] com.google.android.apps.authenticator.TotpClock.:(Landroid/content/Context;)V │ │ +00bcb4: 7010 3a03 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ +00bcba: 2200 f300 |0003: new-instance v0, Ljava/lang/Object; // type@00f3 │ │ +00bcbe: 7010 3a03 0000 |0005: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00bcc4: 5b10 9600 |0008: iput-object v0, v1, Lcom/google/android/apps/authenticator/TotpClock;.mLock:Ljava/lang/Object; // field@0096 │ │ +00bcc8: 7110 9100 0200 |000a: invoke-static {v2}, Landroid/preference/PreferenceManager;.getDefaultSharedPreferences:(Landroid/content/Context;)Landroid/content/SharedPreferences; // method@0091 │ │ +00bcce: 0c00 |000d: move-result-object v0 │ │ +00bcd0: 5b10 9700 |000e: iput-object v0, v1, Lcom/google/android/apps/authenticator/TotpClock;.mPreferences:Landroid/content/SharedPreferences; // field@0097 │ │ +00bcd4: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=46 │ │ 0x0003 line=36 │ │ 0x000a line=47 │ │ 0x0010 line=48 │ │ locals : │ │ @@ -11833,24 +6622,24 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -00bbb4: |[00bbb4] com.google.android.apps.authenticator.TotpClock.currentTimeMillis:()J │ │ -00bbc4: 7100 5c03 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@035c │ │ -00bbca: 0b00 |0003: move-result-wide v0 │ │ -00bbcc: 6e10 0102 0600 |0004: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/TotpClock;.getTimeCorrectionMinutes:()I // method@0201 │ │ -00bbd2: 0a02 |0007: move-result v2 │ │ -00bbd4: 8122 |0008: int-to-long v2, v2 │ │ -00bbd6: 1704 60ea 0000 |0009: const-wide/32 v4, #float 8.40779e-41 // #0000ea60 │ │ -00bbdc: bd42 |000c: mul-long/2addr v2, v4 │ │ -00bbde: bb20 |000d: add-long/2addr v0, v2 │ │ -00bbe0: 1000 |000e: return-wide v0 │ │ +00bcd8: |[00bcd8] com.google.android.apps.authenticator.TotpClock.currentTimeMillis:()J │ │ +00bce8: 7100 5c03 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@035c │ │ +00bcee: 0b00 |0003: move-result-wide v0 │ │ +00bcf0: 6e10 0102 0600 |0004: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/TotpClock;.getTimeCorrectionMinutes:()I // method@0201 │ │ +00bcf6: 0a02 |0007: move-result v2 │ │ +00bcf8: 8122 |0008: int-to-long v2, v2 │ │ +00bcfa: 1704 60ea 0000 |0009: const-wide/32 v4, #float 8.40779e-41 // #0000ea60 │ │ +00bd00: bd42 |000c: mul-long/2addr v2, v4 │ │ +00bd02: bb20 |000d: add-long/2addr v0, v2 │ │ +00bd04: 1000 |000e: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=54 │ │ locals : │ │ 0x0000 - 0x000f reg=6 this Lcom/google/android/apps/authenticator/TotpClock; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/TotpClock;) │ │ @@ -11858,35 +6647,35 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 33 16-bit code units │ │ -00bbe4: |[00bbe4] com.google.android.apps.authenticator.TotpClock.getTimeCorrectionMinutes:()I │ │ -00bbf4: 5441 9600 |0000: iget-object v1, v4, Lcom/google/android/apps/authenticator/TotpClock;.mLock:Ljava/lang/Object; // field@0096 │ │ -00bbf8: 1d01 |0002: monitor-enter v1 │ │ -00bbfa: 5440 9500 |0003: iget-object v0, v4, Lcom/google/android/apps/authenticator/TotpClock;.mCachedCorrectionMinutes:Ljava/lang/Integer; // field@0095 │ │ -00bbfe: 3900 1100 |0005: if-nez v0, 0016 // +0011 │ │ -00bc02: 5440 9700 |0007: iget-object v0, v4, Lcom/google/android/apps/authenticator/TotpClock;.mPreferences:Landroid/content/SharedPreferences; // field@0097 │ │ -00bc06: 1a02 8d06 |0009: const-string v2, "timeCorrectionMinutes" // string@068d │ │ -00bc0a: 1203 |000b: const/4 v3, #int 0 // #0 │ │ -00bc0c: 7230 4500 2003 |000c: invoke-interface {v0, v2, v3}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0045 │ │ -00bc12: 0a00 |000f: move-result v0 │ │ -00bc14: 7110 3203 0000 |0010: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00bc1a: 0c00 |0013: move-result-object v0 │ │ -00bc1c: 5b40 9500 |0014: iput-object v0, v4, Lcom/google/android/apps/authenticator/TotpClock;.mCachedCorrectionMinutes:Ljava/lang/Integer; // field@0095 │ │ -00bc20: 5440 9500 |0016: iget-object v0, v4, Lcom/google/android/apps/authenticator/TotpClock;.mCachedCorrectionMinutes:Ljava/lang/Integer; // field@0095 │ │ -00bc24: 6e10 2b03 0000 |0018: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ -00bc2a: 0a00 |001b: move-result v0 │ │ -00bc2c: 1e01 |001c: monitor-exit v1 │ │ -00bc2e: 0f00 |001d: return v0 │ │ -00bc30: 0d00 |001e: move-exception v0 │ │ -00bc32: 1e01 |001f: monitor-exit v1 │ │ -00bc34: 2700 |0020: throw v0 │ │ +00bd08: |[00bd08] com.google.android.apps.authenticator.TotpClock.getTimeCorrectionMinutes:()I │ │ +00bd18: 5441 9600 |0000: iget-object v1, v4, Lcom/google/android/apps/authenticator/TotpClock;.mLock:Ljava/lang/Object; // field@0096 │ │ +00bd1c: 1d01 |0002: monitor-enter v1 │ │ +00bd1e: 5440 9500 |0003: iget-object v0, v4, Lcom/google/android/apps/authenticator/TotpClock;.mCachedCorrectionMinutes:Ljava/lang/Integer; // field@0095 │ │ +00bd22: 3900 1100 |0005: if-nez v0, 0016 // +0011 │ │ +00bd26: 5440 9700 |0007: iget-object v0, v4, Lcom/google/android/apps/authenticator/TotpClock;.mPreferences:Landroid/content/SharedPreferences; // field@0097 │ │ +00bd2a: 1a02 8706 |0009: const-string v2, "timeCorrectionMinutes" // string@0687 │ │ +00bd2e: 1203 |000b: const/4 v3, #int 0 // #0 │ │ +00bd30: 7230 4500 2003 |000c: invoke-interface {v0, v2, v3}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0045 │ │ +00bd36: 0a00 |000f: move-result v0 │ │ +00bd38: 7110 3203 0000 |0010: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00bd3e: 0c00 |0013: move-result-object v0 │ │ +00bd40: 5b40 9500 |0014: iput-object v0, v4, Lcom/google/android/apps/authenticator/TotpClock;.mCachedCorrectionMinutes:Ljava/lang/Integer; // field@0095 │ │ +00bd44: 5440 9500 |0016: iget-object v0, v4, Lcom/google/android/apps/authenticator/TotpClock;.mCachedCorrectionMinutes:Ljava/lang/Integer; // field@0095 │ │ +00bd48: 6e10 2b03 0000 |0018: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ +00bd4e: 0a00 |001b: move-result v0 │ │ +00bd50: 1e01 |001c: monitor-exit v1 │ │ +00bd52: 0f00 |001d: return v0 │ │ +00bd54: 0d00 |001e: move-exception v0 │ │ +00bd56: 1e01 |001f: monitor-exit v1 │ │ +00bd58: 2700 |0020: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x0020 │ │ -> 0x001e │ │ positions : │ │ 0x0000 line=63 │ │ 0x0003 line=64 │ │ 0x0007 line=65 │ │ @@ -11900,62 +6689,100 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 26 16-bit code units │ │ -00bc44: |[00bc44] com.google.android.apps.authenticator.TotpClock.setTimeCorrectionMinutes:(I)V │ │ -00bc54: 5431 9600 |0000: iget-object v1, v3, Lcom/google/android/apps/authenticator/TotpClock;.mLock:Ljava/lang/Object; // field@0096 │ │ -00bc58: 1d01 |0002: monitor-enter v1 │ │ -00bc5a: 5430 9700 |0003: iget-object v0, v3, Lcom/google/android/apps/authenticator/TotpClock;.mPreferences:Landroid/content/SharedPreferences; // field@0097 │ │ -00bc5e: 7210 4400 0000 |0005: invoke-interface {v0}, Landroid/content/SharedPreferences;.edit:()Landroid/content/SharedPreferences$Editor; // method@0044 │ │ -00bc64: 0c00 |0008: move-result-object v0 │ │ -00bc66: 1a02 8d06 |0009: const-string v2, "timeCorrectionMinutes" // string@068d │ │ -00bc6a: 7230 4100 2004 |000b: invoke-interface {v0, v2, v4}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0041 │ │ -00bc70: 0c00 |000e: move-result-object v0 │ │ -00bc72: 7210 3e00 0000 |000f: invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;.commit:()Z // method@003e │ │ -00bc78: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -00bc7a: 5b30 9500 |0013: iput-object v0, v3, Lcom/google/android/apps/authenticator/TotpClock;.mCachedCorrectionMinutes:Ljava/lang/Integer; // field@0095 │ │ -00bc7e: 1e01 |0015: monitor-exit v1 │ │ -00bc80: 0e00 |0016: return-void │ │ -00bc82: 0d00 |0017: move-exception v0 │ │ -00bc84: 1e01 |0018: monitor-exit v1 │ │ -00bc86: 2700 |0019: throw v0 │ │ +00bd68: |[00bd68] com.google.android.apps.authenticator.TotpClock.setTimeCorrectionMinutes:(I)V │ │ +00bd78: 5431 9600 |0000: iget-object v1, v3, Lcom/google/android/apps/authenticator/TotpClock;.mLock:Ljava/lang/Object; // field@0096 │ │ +00bd7c: 1d01 |0002: monitor-enter v1 │ │ +00bd7e: 5430 9700 |0003: iget-object v0, v3, Lcom/google/android/apps/authenticator/TotpClock;.mPreferences:Landroid/content/SharedPreferences; // field@0097 │ │ +00bd82: 7210 4400 0000 |0005: invoke-interface {v0}, Landroid/content/SharedPreferences;.edit:()Landroid/content/SharedPreferences$Editor; // method@0044 │ │ +00bd88: 0c00 |0008: move-result-object v0 │ │ +00bd8a: 1a02 8706 |0009: const-string v2, "timeCorrectionMinutes" // string@0687 │ │ +00bd8e: 7230 4100 2004 |000b: invoke-interface {v0, v2, v4}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0041 │ │ +00bd94: 0c00 |000e: move-result-object v0 │ │ +00bd96: 7210 3e00 0000 |000f: invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;.commit:()Z // method@003e │ │ +00bd9c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +00bd9e: 5b30 9500 |0013: iput-object v0, v3, Lcom/google/android/apps/authenticator/TotpClock;.mCachedCorrectionMinutes:Ljava/lang/Integer; // field@0095 │ │ +00bda2: 1e01 |0015: monitor-exit v1 │ │ +00bda4: 0e00 |0016: return-void │ │ +00bda6: 0d00 |0017: move-exception v0 │ │ +00bda8: 1e01 |0018: monitor-exit v1 │ │ +00bdaa: 2700 |0019: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x0019 │ │ -> 0x0017 │ │ positions : │ │ 0x0000 line=77 │ │ 0x0003 line=78 │ │ 0x0012 line=80 │ │ 0x0015 line=81 │ │ 0x0016 line=82 │ │ 0x0017 line=81 │ │ locals : │ │ 0x0000 - 0x001a reg=3 this Lcom/google/android/apps/authenticator/TotpClock; │ │ 0x0000 - 0x001a reg=4 minutes I │ │ │ │ - source_file_idx : 657 (TotpClock.java) │ │ + source_file_idx : 654 (TotpClock.java) │ │ │ │ -Class #56 header: │ │ +Class #39 header: │ │ +class_idx : 145 │ │ +access_flags : 1536 (0x0600) │ │ +superclass_idx : 243 │ │ +source_file_idx : 655 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 0 │ │ +virtual_methods_size: 2 │ │ + │ │ +Class #39 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1544 name="Listener" │ │ + │ │ +Class #39 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;' │ │ + Access flags : 0x0600 (INTERFACE ABSTRACT) │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;) │ │ + name : 'onTotpCountdown' │ │ + type : '(J)V' │ │ + access : 0x0401 (PUBLIC ABSTRACT) │ │ + code : (none) │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;) │ │ + name : 'onTotpCounterValueChanged' │ │ + type : '()V' │ │ + access : 0x0401 (PUBLIC ABSTRACT) │ │ + code : (none) │ │ + │ │ + source_file_idx : 655 (TotpCountdownTask.java) │ │ + │ │ +Class #40 header: │ │ class_idx : 146 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 658 │ │ +source_file_idx : 655 │ │ static_fields_size : 0 │ │ instance_fields_size: 7 │ │ direct_methods_size : 7 │ │ virtual_methods_size: 4 │ │ │ │ -Class #56 annotations: │ │ +Class #40 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; } │ │ │ │ -Class #56 - │ │ +Class #40 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/TotpCountdownTask;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Ljava/lang/Runnable;' │ │ Static fields - │ │ Instance fields - │ │ @@ -11989,61 +6816,61 @@ │ │ access : 0x0002 (PRIVATE) │ │ Direct methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask;) │ │ name : '' │ │ type : '(Lcom/google/android/apps/authenticator/TotpCounter;Lcom/google/android/apps/authenticator/TotpClock;J)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ - registers : 7 │ │ + registers : 8 │ │ ins : 5 │ │ outs : 1 │ │ insns size : 21 16-bit code units │ │ -00bc94: |[00bc94] com.google.android.apps.authenticator.TotpCountdownTask.:(Lcom/google/android/apps/authenticator/TotpCounter;Lcom/google/android/apps/authenticator/TotpClock;J)V │ │ -00bca4: 7010 3a03 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@033a │ │ -00bcaa: 2200 2f00 |0003: new-instance v0, Landroid/os/Handler; // type@002f │ │ -00bcae: 7010 7a00 0000 |0005: invoke-direct {v0}, Landroid/os/Handler;.:()V // method@007a │ │ -00bcb4: 5b20 9a00 |0008: iput-object v0, v2, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mHandler:Landroid/os/Handler; // field@009a │ │ -00bcb8: 1900 0080 |000a: const-wide/high16 v0, #long -9223372036854775808 // #8000 │ │ -00bcbc: 5a20 9b00 |000c: iput-wide v0, v2, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mLastSeenCounterValue:J // field@009b │ │ -00bcc0: 5b23 9900 |000e: iput-object v3, v2, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0099 │ │ -00bcc4: 5b24 9800 |0010: iput-object v4, v2, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mClock:Lcom/google/android/apps/authenticator/TotpClock; // field@0098 │ │ -00bcc8: 5a25 9d00 |0012: iput-wide v5, v2, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mRemainingTimeNotificationPeriod:J // field@009d │ │ -00bccc: 0e00 |0014: return-void │ │ +00bdb8: |[00bdb8] com.google.android.apps.authenticator.TotpCountdownTask.:(Lcom/google/android/apps/authenticator/TotpCounter;Lcom/google/android/apps/authenticator/TotpClock;J)V │ │ +00bdc8: 7010 3a03 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@033a │ │ +00bdce: 2200 2f00 |0003: new-instance v0, Landroid/os/Handler; // type@002f │ │ +00bdd2: 7010 7a00 0000 |0005: invoke-direct {v0}, Landroid/os/Handler;.:()V // method@007a │ │ +00bdd8: 5b30 9a00 |0008: iput-object v0, v3, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mHandler:Landroid/os/Handler; // field@009a │ │ +00bddc: 1900 0080 |000a: const-wide/high16 v0, #long -9223372036854775808 // #8000 │ │ +00bde0: 5a30 9b00 |000c: iput-wide v0, v3, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mLastSeenCounterValue:J // field@009b │ │ +00bde4: 5b34 9900 |000e: iput-object v4, v3, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0099 │ │ +00bde8: 5b35 9800 |0010: iput-object v5, v3, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mClock:Lcom/google/android/apps/authenticator/TotpClock; // field@0098 │ │ +00bdec: 5a36 9d00 |0012: iput-wide v6, v3, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mRemainingTimeNotificationPeriod:J // field@009d │ │ +00bdf0: 0e00 |0014: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=62 │ │ 0x0003 line=31 │ │ 0x000a line=33 │ │ 0x000e line=63 │ │ 0x0010 line=64 │ │ 0x0012 line=65 │ │ 0x0014 line=66 │ │ locals : │ │ - 0x0000 - 0x0015 reg=2 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ - 0x0000 - 0x0015 reg=3 counter Lcom/google/android/apps/authenticator/TotpCounter; │ │ - 0x0000 - 0x0015 reg=4 clock Lcom/google/android/apps/authenticator/TotpClock; │ │ - 0x0000 - 0x0015 reg=5 remainingTimeNotificationPeriod J │ │ + 0x0000 - 0x0015 reg=3 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ + 0x0000 - 0x0015 reg=4 counter Lcom/google/android/apps/authenticator/TotpCounter; │ │ + 0x0000 - 0x0015 reg=5 clock Lcom/google/android/apps/authenticator/TotpClock; │ │ + 0x0000 - 0x0015 reg=6 remainingTimeNotificationPeriod J │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask;) │ │ name : 'fireTotpCountdown' │ │ type : '(J)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 14 16-bit code units │ │ -00bcd0: |[00bcd0] com.google.android.apps.authenticator.TotpCountdownTask.fireTotpCountdown:(J)V │ │ -00bce0: 5410 9c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ -00bce4: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ -00bce8: 5510 9e00 |0004: iget-boolean v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ -00bcec: 3900 0700 |0006: if-nez v0, 000d // +0007 │ │ -00bcf0: 5410 9c00 |0008: iget-object v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ -00bcf4: 7230 0302 2003 |000a: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;.onTotpCountdown:(J)V // method@0203 │ │ -00bcfa: 0e00 |000d: return-void │ │ +00bdf4: |[00bdf4] com.google.android.apps.authenticator.TotpCountdownTask.fireTotpCountdown:(J)V │ │ +00be04: 5410 9c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ +00be08: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ +00be0c: 5510 9e00 |0004: iget-boolean v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ +00be10: 3900 0700 |0006: if-nez v0, 000d // +0007 │ │ +00be14: 5410 9c00 |0008: iget-object v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ +00be18: 7230 0302 2003 |000a: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;.onTotpCountdown:(J)V // method@0203 │ │ +00be1e: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=126 │ │ 0x0008 line=127 │ │ 0x000d line=129 │ │ locals : │ │ 0x0000 - 0x000e reg=1 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ @@ -12054,135 +6881,135 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -00bcfc: |[00bcfc] com.google.android.apps.authenticator.TotpCountdownTask.fireTotpCounterValueChanged:()V │ │ -00bd0c: 5410 9c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ -00bd10: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ -00bd14: 5510 9e00 |0004: iget-boolean v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ -00bd18: 3900 0700 |0006: if-nez v0, 000d // +0007 │ │ -00bd1c: 5410 9c00 |0008: iget-object v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ -00bd20: 7210 0402 0000 |000a: invoke-interface {v0}, Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;.onTotpCounterValueChanged:()V // method@0204 │ │ -00bd26: 0e00 |000d: return-void │ │ +00be20: |[00be20] com.google.android.apps.authenticator.TotpCountdownTask.fireTotpCounterValueChanged:()V │ │ +00be30: 5410 9c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ +00be34: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ +00be38: 5510 9e00 |0004: iget-boolean v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ +00be3c: 3900 0700 |0006: if-nez v0, 000d // +0007 │ │ +00be40: 5410 9c00 |0008: iget-object v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ +00be44: 7210 0402 0000 |000a: invoke-interface {v0}, Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;.onTotpCounterValueChanged:()V // method@0204 │ │ +00be4a: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=132 │ │ 0x0008 line=133 │ │ 0x000d line=135 │ │ locals : │ │ 0x0000 - 0x000e reg=1 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask;) │ │ name : 'getCounterValue' │ │ type : '(J)J' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ - registers : 6 │ │ + registers : 8 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 11 16-bit code units │ │ -00bd28: |[00bd28] com.google.android.apps.authenticator.TotpCountdownTask.getCounterValue:(J)J │ │ -00bd38: 5430 9900 |0000: iget-object v0, v3, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0099 │ │ -00bd3c: 7120 1d02 5400 |0002: invoke-static {v4, v5}, Lcom/google/android/apps/authenticator/Utilities;.millisToSeconds:(J)J // method@021d │ │ -00bd42: 0b01 |0005: move-result-wide v1 │ │ -00bd44: 6e30 1502 1002 |0006: invoke-virtual {v0, v1, v2}, Lcom/google/android/apps/authenticator/TotpCounter;.getValueAtTime:(J)J // method@0215 │ │ -00bd4a: 0b00 |0009: move-result-wide v0 │ │ -00bd4c: 1000 |000a: return-wide v0 │ │ +00be4c: |[00be4c] com.google.android.apps.authenticator.TotpCountdownTask.getCounterValue:(J)J │ │ +00be5c: 5450 9900 |0000: iget-object v0, v5, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0099 │ │ +00be60: 7120 1d02 7600 |0002: invoke-static {v6, v7}, Lcom/google/android/apps/authenticator/Utilities;.millisToSeconds:(J)J // method@021d │ │ +00be66: 0b02 |0005: move-result-wide v2 │ │ +00be68: 6e30 1502 2003 |0006: invoke-virtual {v0, v2, v3}, Lcom/google/android/apps/authenticator/TotpCounter;.getValueAtTime:(J)J // method@0215 │ │ +00be6e: 0b00 |0009: move-result-wide v0 │ │ +00be70: 1000 |000a: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=143 │ │ locals : │ │ - 0x0000 - 0x000b reg=3 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ - 0x0000 - 0x000b reg=4 time J │ │ + 0x0000 - 0x000b reg=5 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ + 0x0000 - 0x000b reg=6 time J │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask;) │ │ name : 'getCounterValueAge' │ │ type : '(J)J' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ - registers : 6 │ │ + registers : 8 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 17 16-bit code units │ │ -00bd50: |[00bd50] com.google.android.apps.authenticator.TotpCountdownTask.getCounterValueAge:(J)J │ │ -00bd60: 5430 9900 |0000: iget-object v0, v3, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0099 │ │ -00bd64: 7030 0802 4305 |0002: invoke-direct {v3, v4, v5}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getCounterValue:(J)J // method@0208 │ │ -00bd6a: 0b01 |0005: move-result-wide v1 │ │ -00bd6c: 6e30 1602 1002 |0006: invoke-virtual {v0, v1, v2}, Lcom/google/android/apps/authenticator/TotpCounter;.getValueStartTime:(J)J // method@0216 │ │ -00bd72: 0b00 |0009: move-result-wide v0 │ │ -00bd74: 7120 1e02 1000 |000a: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/Utilities;.secondsToMillis:(J)J // method@021e │ │ -00bd7a: 0b00 |000d: move-result-wide v0 │ │ -00bd7c: 9c00 0400 |000e: sub-long v0, v4, v0 │ │ -00bd80: 1000 |0010: return-wide v0 │ │ +00be74: |[00be74] com.google.android.apps.authenticator.TotpCountdownTask.getCounterValueAge:(J)J │ │ +00be84: 5450 9900 |0000: iget-object v0, v5, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0099 │ │ +00be88: 7030 0802 6507 |0002: invoke-direct {v5, v6, v7}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getCounterValue:(J)J // method@0208 │ │ +00be8e: 0b02 |0005: move-result-wide v2 │ │ +00be90: 6e30 1602 2003 |0006: invoke-virtual {v0, v2, v3}, Lcom/google/android/apps/authenticator/TotpCounter;.getValueStartTime:(J)J // method@0216 │ │ +00be96: 0b00 |0009: move-result-wide v0 │ │ +00be98: 7120 1e02 1000 |000a: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/Utilities;.secondsToMillis:(J)J // method@021e │ │ +00be9e: 0b00 |000d: move-result-wide v0 │ │ +00bea0: 9c00 0600 |000e: sub-long v0, v6, v0 │ │ +00bea4: 1000 |0010: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=168 │ │ locals : │ │ - 0x0000 - 0x0011 reg=3 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ - 0x0000 - 0x0011 reg=4 time J │ │ + 0x0000 - 0x0011 reg=5 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ + 0x0000 - 0x0011 reg=6 time J │ │ │ │ #5 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask;) │ │ name : 'getTimeTillNextCounterValue' │ │ type : '(J)J' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ - registers : 11 │ │ + registers : 12 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 21 16-bit code units │ │ -00bd84: |[00bd84] com.google.android.apps.authenticator.TotpCountdownTask.getTimeTillNextCounterValue:(J)J │ │ -00bd94: 7030 0802 980a |0000: invoke-direct {v8, v9, v10}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getCounterValue:(J)J // method@0208 │ │ -00bd9a: 0b00 |0003: move-result-wide v0 │ │ -00bd9c: 1606 0100 |0004: const-wide/16 v6, #int 1 // #1 │ │ -00bda0: 9b02 0006 |0006: add-long v2, v0, v6 │ │ -00bda4: 5486 9900 |0008: iget-object v6, v8, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0099 │ │ -00bda8: 6e30 1602 2603 |000a: invoke-virtual {v6, v2, v3}, Lcom/google/android/apps/authenticator/TotpCounter;.getValueStartTime:(J)J // method@0216 │ │ -00bdae: 0b06 |000d: move-result-wide v6 │ │ -00bdb0: 7120 1e02 7600 |000e: invoke-static {v6, v7}, Lcom/google/android/apps/authenticator/Utilities;.secondsToMillis:(J)J // method@021e │ │ -00bdb6: 0b04 |0011: move-result-wide v4 │ │ -00bdb8: 9c06 0409 |0012: sub-long v6, v4, v9 │ │ -00bdbc: 1006 |0014: return-wide v6 │ │ +00bea8: |[00bea8] com.google.android.apps.authenticator.TotpCountdownTask.getTimeTillNextCounterValue:(J)J │ │ +00beb8: 7030 0802 a90b |0000: invoke-direct {v9, v10, v11}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getCounterValue:(J)J // method@0208 │ │ +00bebe: 0b00 |0003: move-result-wide v0 │ │ +00bec0: 1606 0100 |0004: const-wide/16 v6, #int 1 // #1 │ │ +00bec4: 9b02 0006 |0006: add-long v2, v0, v6 │ │ +00bec8: 5496 9900 |0008: iget-object v6, v9, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0099 │ │ +00becc: 6e30 1602 2603 |000a: invoke-virtual {v6, v2, v3}, Lcom/google/android/apps/authenticator/TotpCounter;.getValueStartTime:(J)J // method@0216 │ │ +00bed2: 0b06 |000d: move-result-wide v6 │ │ +00bed4: 7120 1e02 7600 |000e: invoke-static {v6, v7}, Lcom/google/android/apps/authenticator/Utilities;.secondsToMillis:(J)J // method@021e │ │ +00beda: 0b04 |0011: move-result-wide v4 │ │ +00bedc: 9c06 040a |0012: sub-long v6, v4, v10 │ │ +00bee0: 1006 |0014: return-wide v6 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=154 │ │ 0x0004 line=155 │ │ 0x0008 line=156 │ │ 0x0012 line=157 │ │ locals : │ │ 0x0004 - 0x0015 reg=0 currentValue J │ │ 0x0008 - 0x0015 reg=2 nextValue J │ │ 0x0012 - 0x0015 reg=4 nextValueStartTime J │ │ - 0x0000 - 0x0015 reg=8 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ - 0x0000 - 0x0015 reg=9 time J │ │ + 0x0000 - 0x0015 reg=9 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ + 0x0000 - 0x0015 reg=10 time J │ │ │ │ #6 : (in Lcom/google/android/apps/authenticator/TotpCountdownTask;) │ │ name : 'scheduleNextInvocation' │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 11 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 24 16-bit code units │ │ -00bdc0: |[00bdc0] com.google.android.apps.authenticator.TotpCountdownTask.scheduleNextInvocation:()V │ │ -00bdd0: 54a6 9800 |0000: iget-object v6, v10, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mClock:Lcom/google/android/apps/authenticator/TotpClock; // field@0098 │ │ -00bdd4: 6e10 0002 0600 |0002: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/TotpClock;.currentTimeMillis:()J // method@0200 │ │ -00bdda: 0b02 |0005: move-result-wide v2 │ │ -00bddc: 7030 0902 2a03 |0006: invoke-direct {v10, v2, v3}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getCounterValueAge:(J)J // method@0209 │ │ -00bde2: 0b00 |0009: move-result-wide v0 │ │ -00bde4: 53a6 9d00 |000a: iget-wide v6, v10, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mRemainingTimeNotificationPeriod:J // field@009d │ │ -00bde8: 53a8 9d00 |000c: iget-wide v8, v10, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mRemainingTimeNotificationPeriod:J // field@009d │ │ -00bdec: 9f08 0008 |000e: rem-long v8, v0, v8 │ │ -00bdf0: 9c04 0608 |0010: sub-long v4, v6, v8 │ │ -00bdf4: 54a6 9a00 |0012: iget-object v6, v10, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mHandler:Landroid/os/Handler; // field@009a │ │ -00bdf8: 6e40 7d00 a654 |0014: invoke-virtual {v6, v10, v4, v5}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@007d │ │ -00bdfe: 0e00 |0017: return-void │ │ +00bee4: |[00bee4] com.google.android.apps.authenticator.TotpCountdownTask.scheduleNextInvocation:()V │ │ +00bef4: 54a6 9800 |0000: iget-object v6, v10, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mClock:Lcom/google/android/apps/authenticator/TotpClock; // field@0098 │ │ +00bef8: 6e10 0002 0600 |0002: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/TotpClock;.currentTimeMillis:()J // method@0200 │ │ +00befe: 0b02 |0005: move-result-wide v2 │ │ +00bf00: 7030 0902 2a03 |0006: invoke-direct {v10, v2, v3}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getCounterValueAge:(J)J // method@0209 │ │ +00bf06: 0b00 |0009: move-result-wide v0 │ │ +00bf08: 53a6 9d00 |000a: iget-wide v6, v10, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mRemainingTimeNotificationPeriod:J // field@009d │ │ +00bf0c: 53a8 9d00 |000c: iget-wide v8, v10, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mRemainingTimeNotificationPeriod:J // field@009d │ │ +00bf10: 9f08 0008 |000e: rem-long v8, v0, v8 │ │ +00bf14: 9c04 0608 |0010: sub-long v4, v6, v8 │ │ +00bf18: 54a6 9a00 |0012: iget-object v6, v10, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mHandler:Landroid/os/Handler; // field@009a │ │ +00bf1c: 6e40 7d00 a654 |0014: invoke-virtual {v6, v10, v4, v5}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@007d │ │ +00bf22: 0e00 |0017: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=118 │ │ 0x0006 line=119 │ │ 0x000a line=120 │ │ 0x0012 line=122 │ │ 0x0017 line=123 │ │ @@ -12198,33 +7025,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 37 16-bit code units │ │ -00be00: |[00be00] com.google.android.apps.authenticator.TotpCountdownTask.run:()V │ │ -00be10: 5564 9e00 |0000: iget-boolean v4, v6, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ -00be14: 3804 0300 |0002: if-eqz v4, 0005 // +0003 │ │ -00be18: 0e00 |0004: return-void │ │ -00be1a: 5464 9800 |0005: iget-object v4, v6, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mClock:Lcom/google/android/apps/authenticator/TotpClock; // field@0098 │ │ -00be1e: 6e10 0002 0400 |0007: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/TotpClock;.currentTimeMillis:()J // method@0200 │ │ -00be24: 0b02 |000a: move-result-wide v2 │ │ -00be26: 7030 0802 2603 |000b: invoke-direct {v6, v2, v3}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getCounterValue:(J)J // method@0208 │ │ -00be2c: 0b00 |000e: move-result-wide v0 │ │ -00be2e: 5364 9b00 |000f: iget-wide v4, v6, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mLastSeenCounterValue:J // field@009b │ │ -00be32: 3104 0400 |0011: cmp-long v4, v4, v0 │ │ -00be36: 3804 0700 |0013: if-eqz v4, 001a // +0007 │ │ -00be3a: 5a60 9b00 |0015: iput-wide v0, v6, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mLastSeenCounterValue:J // field@009b │ │ -00be3e: 7010 0702 0600 |0017: invoke-direct {v6}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.fireTotpCounterValueChanged:()V // method@0207 │ │ -00be44: 7030 0a02 2603 |001a: invoke-direct {v6, v2, v3}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getTimeTillNextCounterValue:(J)J // method@020a │ │ -00be4a: 0b04 |001d: move-result-wide v4 │ │ -00be4c: 7030 0602 4605 |001e: invoke-direct {v6, v4, v5}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.fireTotpCountdown:(J)V // method@0206 │ │ -00be52: 7010 0c02 0600 |0021: invoke-direct {v6}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.scheduleNextInvocation:()V // method@020c │ │ -00be58: 28e0 |0024: goto 0004 // -0020 │ │ +00bf24: |[00bf24] com.google.android.apps.authenticator.TotpCountdownTask.run:()V │ │ +00bf34: 5564 9e00 |0000: iget-boolean v4, v6, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ +00bf38: 3804 0300 |0002: if-eqz v4, 0005 // +0003 │ │ +00bf3c: 0e00 |0004: return-void │ │ +00bf3e: 5464 9800 |0005: iget-object v4, v6, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mClock:Lcom/google/android/apps/authenticator/TotpClock; // field@0098 │ │ +00bf42: 6e10 0002 0400 |0007: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/TotpClock;.currentTimeMillis:()J // method@0200 │ │ +00bf48: 0b02 |000a: move-result-wide v2 │ │ +00bf4a: 7030 0802 2603 |000b: invoke-direct {v6, v2, v3}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getCounterValue:(J)J // method@0208 │ │ +00bf50: 0b00 |000e: move-result-wide v0 │ │ +00bf52: 5364 9b00 |000f: iget-wide v4, v6, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mLastSeenCounterValue:J // field@009b │ │ +00bf56: 3104 0400 |0011: cmp-long v4, v4, v0 │ │ +00bf5a: 3804 0700 |0013: if-eqz v4, 001a // +0007 │ │ +00bf5e: 5a60 9b00 |0015: iput-wide v0, v6, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mLastSeenCounterValue:J // field@009b │ │ +00bf62: 7010 0702 0600 |0017: invoke-direct {v6}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.fireTotpCounterValueChanged:()V // method@0207 │ │ +00bf68: 7030 0a02 2603 |001a: invoke-direct {v6, v2, v3}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.getTimeTillNextCounterValue:(J)J // method@020a │ │ +00bf6e: 0b04 |001d: move-result-wide v4 │ │ +00bf70: 7030 0602 4605 |001e: invoke-direct {v6, v4, v5}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.fireTotpCountdown:(J)V // method@0206 │ │ +00bf76: 7010 0c02 0600 |0021: invoke-direct {v6}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.scheduleNextInvocation:()V // method@020c │ │ +00bf7c: 28e0 |0024: goto 0004 // -0020 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ 0x0004 line=115 │ │ 0x0005 line=106 │ │ 0x000b line=107 │ │ 0x000f line=108 │ │ @@ -12242,17 +7069,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;)V' │ │ access : 0x0000 () │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -00be5c: |[00be5c] com.google.android.apps.authenticator.TotpCountdownTask.setListener:(Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;)V │ │ -00be6c: 5b01 9c00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ -00be70: 0e00 |0002: return-void │ │ +00bf80: |[00bf80] com.google.android.apps.authenticator.TotpCountdownTask.setListener:(Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;)V │ │ +00bf90: 5b01 9c00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mListener:Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; // field@009c │ │ +00bf94: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=74 │ │ 0x0002 line=75 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ 0x0000 - 0x0003 reg=1 listener Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener; │ │ @@ -12262,23 +7089,23 @@ │ │ type : '()V' │ │ access : 0x0000 () │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -00be74: |[00be74] com.google.android.apps.authenticator.TotpCountdownTask.startAndNotifyListener:()V │ │ -00be84: 5520 9e00 |0000: iget-boolean v0, v2, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ -00be88: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ -00be8c: 2200 ea00 |0004: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ -00be90: 1a01 8302 |0006: const-string v1, "Task already stopped and cannot be restarted." // string@0283 │ │ -00be94: 7020 2803 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ -00be9a: 2700 |000b: throw v0 │ │ -00be9c: 6e10 0b02 0200 |000c: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.run:()V // method@020b │ │ -00bea2: 0e00 |000f: return-void │ │ +00bf98: |[00bf98] com.google.android.apps.authenticator.TotpCountdownTask.startAndNotifyListener:()V │ │ +00bfa8: 5520 9e00 |0000: iget-boolean v0, v2, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ +00bfac: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ +00bfb0: 2200 ea00 |0004: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ +00bfb4: 1a01 8002 |0006: const-string v1, "Task already stopped and cannot be restarted." // string@0280 │ │ +00bfb8: 7020 2803 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ +00bfbe: 2700 |000b: throw v0 │ │ +00bfc0: 6e10 0b02 0200 |000c: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.run:()V // method@020b │ │ +00bfc6: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ 0x0004 line=87 │ │ 0x000c line=90 │ │ 0x000f line=91 │ │ locals : │ │ @@ -12289,38 +7116,38 @@ │ │ type : '()V' │ │ access : 0x0000 () │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -00bea4: |[00bea4] com.google.android.apps.authenticator.TotpCountdownTask.stop:()V │ │ -00beb4: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -00beb6: 5c10 9e00 |0001: iput-boolean v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ -00beba: 0e00 |0003: return-void │ │ +00bfc8: |[00bfc8] com.google.android.apps.authenticator.TotpCountdownTask.stop:()V │ │ +00bfd8: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +00bfda: 5c10 9e00 |0001: iput-boolean v0, v1, Lcom/google/android/apps/authenticator/TotpCountdownTask;.mShouldStop:Z // field@009e │ │ +00bfde: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=97 │ │ 0x0003 line=98 │ │ locals : │ │ 0x0000 - 0x0004 reg=1 this Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ │ │ - source_file_idx : 658 (TotpCountdownTask.java) │ │ + source_file_idx : 655 (TotpCountdownTask.java) │ │ │ │ -Class #57 header: │ │ +Class #41 header: │ │ class_idx : 147 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ -source_file_idx : 659 │ │ +source_file_idx : 656 │ │ static_fields_size : 0 │ │ instance_fields_size: 2 │ │ direct_methods_size : 3 │ │ virtual_methods_size: 4 │ │ │ │ -Class #57 - │ │ +Class #41 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/TotpCounter;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/TotpCounter;) │ │ @@ -12333,60 +7160,60 @@ │ │ access : 0x0012 (PRIVATE FINAL) │ │ Direct methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/TotpCounter;) │ │ name : '' │ │ type : '(J)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ - registers : 5 │ │ + registers : 6 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 6 16-bit code units │ │ -00bebc: |[00bebc] com.google.android.apps.authenticator.TotpCounter.:(J)V │ │ -00becc: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ -00bed0: 7051 1102 3204 |0002: invoke-direct {v2, v3, v4, v0, v1}, Lcom/google/android/apps/authenticator/TotpCounter;.:(JJ)V // method@0211 │ │ -00bed6: 0e00 |0005: return-void │ │ +00bfe0: |[00bfe0] com.google.android.apps.authenticator.TotpCounter.:(J)V │ │ +00bff0: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ +00bff4: 7051 1102 4305 |0002: invoke-direct {v3, v4, v5, v0, v1}, Lcom/google/android/apps/authenticator/TotpCounter;.:(JJ)V // method@0211 │ │ +00bffa: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0005 line=61 │ │ locals : │ │ - 0x0000 - 0x0006 reg=2 this Lcom/google/android/apps/authenticator/TotpCounter; │ │ - 0x0000 - 0x0006 reg=3 timeStep J │ │ + 0x0000 - 0x0006 reg=3 this Lcom/google/android/apps/authenticator/TotpCounter; │ │ + 0x0000 - 0x0006 reg=4 timeStep J │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/TotpCounter;) │ │ name : '' │ │ type : '(JJ)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 8 │ │ ins : 5 │ │ outs : 3 │ │ insns size : 42 16-bit code units │ │ -00bed8: |[00bed8] com.google.android.apps.authenticator.TotpCounter.:(JJ)V │ │ -00bee8: 7010 3a03 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@033a │ │ -00beee: 1600 0100 |0003: const-wide/16 v0, #int 1 // #1 │ │ -00bef2: 3100 0400 |0005: cmp-long v0, v4, v0 │ │ -00bef6: 3b00 1b00 |0007: if-gez v0, 0022 // +001b │ │ -00befa: 2200 e900 |0009: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ -00befe: 2201 f900 |000b: new-instance v1, Ljava/lang/StringBuilder; // type@00f9 │ │ -00bf02: 7010 5303 0100 |000d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00bf08: 1a02 8f02 |0010: const-string v2, "Time step must be positive: " // string@028f │ │ -00bf0c: 6e20 5a03 2100 |0012: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00bf12: 0c01 |0015: move-result-object v1 │ │ -00bf14: 6e30 5803 4105 |0016: invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0358 │ │ -00bf1a: 0c01 |0019: move-result-object v1 │ │ -00bf1c: 6e10 5b03 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00bf22: 0c01 |001d: move-result-object v1 │ │ -00bf24: 7020 2603 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ -00bf2a: 2700 |0021: throw v0 │ │ -00bf2c: 7120 1202 7600 |0022: invoke-static {v6, v7}, Lcom/google/android/apps/authenticator/TotpCounter;.assertValidTime:(J)V // method@0212 │ │ -00bf32: 5a34 a000 |0025: iput-wide v4, v3, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ -00bf36: 5a36 9f00 |0027: iput-wide v6, v3, Lcom/google/android/apps/authenticator/TotpCounter;.mStartTime:J // field@009f │ │ -00bf3a: 0e00 |0029: return-void │ │ +00bffc: |[00bffc] com.google.android.apps.authenticator.TotpCounter.:(JJ)V │ │ +00c00c: 7010 3a03 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@033a │ │ +00c012: 1600 0100 |0003: const-wide/16 v0, #int 1 // #1 │ │ +00c016: 3100 0400 |0005: cmp-long v0, v4, v0 │ │ +00c01a: 3b00 1b00 |0007: if-gez v0, 0022 // +001b │ │ +00c01e: 2200 e900 |0009: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ +00c022: 2201 f900 |000b: new-instance v1, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c026: 7010 5303 0100 |000d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c02c: 1a02 8c02 |0010: const-string v2, "Time step must be positive: " // string@028c │ │ +00c030: 6e20 5a03 2100 |0012: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c036: 0c01 |0015: move-result-object v1 │ │ +00c038: 6e30 5803 4105 |0016: invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0358 │ │ +00c03e: 0c01 |0019: move-result-object v1 │ │ +00c040: 6e10 5b03 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c046: 0c01 |001d: move-result-object v1 │ │ +00c048: 7020 2603 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ +00c04e: 2700 |0021: throw v0 │ │ +00c050: 7120 1202 7600 |0022: invoke-static {v6, v7}, Lcom/google/android/apps/authenticator/TotpCounter;.assertValidTime:(J)V // method@0212 │ │ +00c056: 5a34 a000 |0025: iput-wide v4, v3, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ +00c05a: 5a36 9f00 |0027: iput-wide v6, v3, Lcom/google/android/apps/authenticator/TotpCounter;.mStartTime:J // field@009f │ │ +00c05e: 0e00 |0029: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=71 │ │ 0x0003 line=72 │ │ 0x0009 line=73 │ │ 0x0022 line=75 │ │ 0x0025 line=77 │ │ @@ -12398,56 +7225,56 @@ │ │ 0x0000 - 0x002a reg=6 startTime J │ │ │ │ #2 : (in Lcom/google/android/apps/authenticator/TotpCounter;) │ │ name : 'assertValidTime' │ │ type : '(J)V' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ - registers : 5 │ │ + registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 32 16-bit code units │ │ -00bf3c: |[00bf3c] com.google.android.apps.authenticator.TotpCounter.assertValidTime:(J)V │ │ -00bf4c: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ -00bf50: 3100 0300 |0002: cmp-long v0, v3, v0 │ │ -00bf54: 3b00 1b00 |0004: if-gez v0, 001f // +001b │ │ -00bf58: 2200 e900 |0006: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ -00bf5c: 2201 f900 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@00f9 │ │ -00bf60: 7010 5303 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00bf66: 1a02 2c02 |000d: const-string v2, "Negative time: " // string@022c │ │ -00bf6a: 6e20 5a03 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00bf70: 0c01 |0012: move-result-object v1 │ │ -00bf72: 6e30 5803 3104 |0013: invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0358 │ │ -00bf78: 0c01 |0016: move-result-object v1 │ │ -00bf7a: 6e10 5b03 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00bf80: 0c01 |001a: move-result-object v1 │ │ -00bf82: 7020 2603 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ -00bf88: 2700 |001e: throw v0 │ │ -00bf8a: 0e00 |001f: return-void │ │ +00c060: |[00c060] com.google.android.apps.authenticator.TotpCounter.assertValidTime:(J)V │ │ +00c070: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ +00c074: 3100 0400 |0002: cmp-long v0, v4, v0 │ │ +00c078: 3b00 1b00 |0004: if-gez v0, 001f // +001b │ │ +00c07c: 2200 e900 |0006: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ +00c080: 2201 f900 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c084: 7010 5303 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c08a: 1a02 2902 |000d: const-string v2, "Negative time: " // string@0229 │ │ +00c08e: 6e20 5a03 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c094: 0c01 |0012: move-result-object v1 │ │ +00c096: 6e30 5803 4105 |0013: invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0358 │ │ +00c09c: 0c01 |0016: move-result-object v1 │ │ +00c09e: 6e10 5b03 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c0a4: 0c01 |001a: move-result-object v1 │ │ +00c0a6: 7020 2603 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ +00c0ac: 2700 |001e: throw v0 │ │ +00c0ae: 0e00 |001f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=144 │ │ 0x0006 line=145 │ │ 0x001f line=147 │ │ locals : │ │ - 0x0000 - 0x0020 reg=3 time J │ │ + 0x0000 - 0x0020 reg=4 time J │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/TotpCounter;) │ │ name : 'getStartTime' │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -00bf8c: |[00bf8c] com.google.android.apps.authenticator.TotpCounter.getStartTime:()J │ │ -00bf9c: 5320 9f00 |0000: iget-wide v0, v2, Lcom/google/android/apps/authenticator/TotpCounter;.mStartTime:J // field@009f │ │ -00bfa0: 1000 |0002: return-wide v0 │ │ +00c0b0: |[00c0b0] com.google.android.apps.authenticator.TotpCounter.getStartTime:()J │ │ +00c0c0: 5320 9f00 |0000: iget-wide v0, v2, Lcom/google/android/apps/authenticator/TotpCounter;.mStartTime:J // field@009f │ │ +00c0c4: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=96 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Lcom/google/android/apps/authenticator/TotpCounter; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/TotpCounter;) │ │ @@ -12455,96 +7282,96 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -00bfa4: |[00bfa4] com.google.android.apps.authenticator.TotpCounter.getTimeStep:()J │ │ -00bfb4: 5320 a000 |0000: iget-wide v0, v2, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ -00bfb8: 1000 |0002: return-wide v0 │ │ +00c0c8: |[00c0c8] com.google.android.apps.authenticator.TotpCounter.getTimeStep:()J │ │ +00c0d8: 5320 a000 |0000: iget-wide v0, v2, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ +00c0dc: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=87 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Lcom/google/android/apps/authenticator/TotpCounter; │ │ │ │ #2 : (in Lcom/google/android/apps/authenticator/TotpCounter;) │ │ name : 'getValueAtTime' │ │ type : '(J)J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ - registers : 9 │ │ + registers : 10 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 29 16-bit code units │ │ -00bfbc: |[00bfbc] com.google.android.apps.authenticator.TotpCounter.getValueAtTime:(J)J │ │ -00bfcc: 7120 1202 8700 |0000: invoke-static {v7, v8}, Lcom/google/android/apps/authenticator/TotpCounter;.assertValidTime:(J)V // method@0212 │ │ -00bfd2: 5362 9f00 |0003: iget-wide v2, v6, Lcom/google/android/apps/authenticator/TotpCounter;.mStartTime:J // field@009f │ │ -00bfd6: 9c00 0702 |0005: sub-long v0, v7, v2 │ │ -00bfda: 1602 0000 |0007: const-wide/16 v2, #int 0 // #0 │ │ -00bfde: 3102 0002 |0009: cmp-long v2, v0, v2 │ │ -00bfe2: 3a02 0700 |000b: if-ltz v2, 0012 // +0007 │ │ -00bfe6: 5362 a000 |000d: iget-wide v2, v6, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ -00bfea: 9e02 0002 |000f: div-long v2, v0, v2 │ │ -00bfee: 1002 |0011: return-wide v2 │ │ -00bff0: 5362 a000 |0012: iget-wide v2, v6, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ -00bff4: 1604 0100 |0014: const-wide/16 v4, #int 1 // #1 │ │ -00bff8: bc42 |0016: sub-long/2addr v2, v4 │ │ -00bffa: 9c02 0002 |0017: sub-long v2, v0, v2 │ │ -00bffe: 5364 a000 |0019: iget-wide v4, v6, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ -00c002: be42 |001b: div-long/2addr v2, v4 │ │ -00c004: 28f5 |001c: goto 0011 // -000b │ │ +00c0e0: |[00c0e0] com.google.android.apps.authenticator.TotpCounter.getValueAtTime:(J)J │ │ +00c0f0: 7120 1202 9800 |0000: invoke-static {v8, v9}, Lcom/google/android/apps/authenticator/TotpCounter;.assertValidTime:(J)V // method@0212 │ │ +00c0f6: 5372 9f00 |0003: iget-wide v2, v7, Lcom/google/android/apps/authenticator/TotpCounter;.mStartTime:J // field@009f │ │ +00c0fa: 9c00 0802 |0005: sub-long v0, v8, v2 │ │ +00c0fe: 1602 0000 |0007: const-wide/16 v2, #int 0 // #0 │ │ +00c102: 3102 0002 |0009: cmp-long v2, v0, v2 │ │ +00c106: 3a02 0700 |000b: if-ltz v2, 0012 // +0007 │ │ +00c10a: 5372 a000 |000d: iget-wide v2, v7, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ +00c10e: 9e02 0002 |000f: div-long v2, v0, v2 │ │ +00c112: 1002 |0011: return-wide v2 │ │ +00c114: 5372 a000 |0012: iget-wide v2, v7, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ +00c118: 1604 0100 |0014: const-wide/16 v4, #int 1 // #1 │ │ +00c11c: bc42 |0016: sub-long/2addr v2, v4 │ │ +00c11e: 9c02 0002 |0017: sub-long v2, v0, v2 │ │ +00c122: 5374 a000 |0019: iget-wide v4, v7, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ +00c126: be42 |001b: div-long/2addr v2, v4 │ │ +00c128: 28f5 |001c: goto 0011 // -000b │ │ catches : (none) │ │ positions : │ │ 0x0000 line=107 │ │ 0x0003 line=124 │ │ 0x0007 line=125 │ │ 0x000d line=126 │ │ 0x0011 line=128 │ │ locals : │ │ 0x0007 - 0x001d reg=0 timeSinceStartTime J │ │ - 0x0000 - 0x001d reg=6 this Lcom/google/android/apps/authenticator/TotpCounter; │ │ - 0x0000 - 0x001d reg=7 time J │ │ + 0x0000 - 0x001d reg=7 this Lcom/google/android/apps/authenticator/TotpCounter; │ │ + 0x0000 - 0x001d reg=8 time J │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/TotpCounter;) │ │ name : 'getValueStartTime' │ │ type : '(J)J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ - registers : 7 │ │ + registers : 8 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 7 16-bit code units │ │ -00c008: |[00c008] com.google.android.apps.authenticator.TotpCounter.getValueStartTime:(J)J │ │ -00c018: 5340 9f00 |0000: iget-wide v0, v4, Lcom/google/android/apps/authenticator/TotpCounter;.mStartTime:J // field@009f │ │ -00c01c: 5342 a000 |0002: iget-wide v2, v4, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ -00c020: bd52 |0004: mul-long/2addr v2, v5 │ │ -00c022: bb20 |0005: add-long/2addr v0, v2 │ │ -00c024: 1000 |0006: return-wide v0 │ │ +00c12c: |[00c12c] com.google.android.apps.authenticator.TotpCounter.getValueStartTime:(J)J │ │ +00c13c: 5350 9f00 |0000: iget-wide v0, v5, Lcom/google/android/apps/authenticator/TotpCounter;.mStartTime:J // field@009f │ │ +00c140: 5352 a000 |0002: iget-wide v2, v5, Lcom/google/android/apps/authenticator/TotpCounter;.mTimeStep:J // field@00a0 │ │ +00c144: bd62 |0004: mul-long/2addr v2, v6 │ │ +00c146: bb20 |0005: add-long/2addr v0, v2 │ │ +00c148: 1000 |0006: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=140 │ │ locals : │ │ - 0x0000 - 0x0007 reg=4 this Lcom/google/android/apps/authenticator/TotpCounter; │ │ - 0x0000 - 0x0007 reg=5 value J │ │ + 0x0000 - 0x0007 reg=5 this Lcom/google/android/apps/authenticator/TotpCounter; │ │ + 0x0000 - 0x0007 reg=6 value J │ │ │ │ - source_file_idx : 659 (TotpCounter.java) │ │ + source_file_idx : 656 (TotpCounter.java) │ │ │ │ -Class #58 header: │ │ +Class #42 header: │ │ class_idx : 148 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 89 │ │ -source_file_idx : 664 │ │ +source_file_idx : 661 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 2 │ │ virtual_methods_size: 1 │ │ │ │ -Class #58 - │ │ +Class #42 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/UserRowView;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Landroid/widget/LinearLayout;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ @@ -12553,17 +7380,17 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -00c028: |[00c028] com.google.android.apps.authenticator.UserRowView.:(Landroid/content/Context;)V │ │ -00c038: 7020 c000 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;)V // method@00c0 │ │ -00c03e: 0e00 |0003: return-void │ │ +00c14c: |[00c14c] com.google.android.apps.authenticator.UserRowView.:(Landroid/content/Context;)V │ │ +00c15c: 7020 c000 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;)V // method@00c0 │ │ +00c162: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ 0x0003 line=39 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/UserRowView; │ │ 0x0000 - 0x0004 reg=1 context Landroid/content/Context; │ │ @@ -12573,17 +7400,17 @@ │ │ type : '(Landroid/content/Context;Landroid/util/AttributeSet;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -00c040: |[00c040] com.google.android.apps.authenticator.UserRowView.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ -00c050: 7030 c100 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00c1 │ │ -00c056: 0e00 |0003: return-void │ │ +00c164: |[00c164] com.google.android.apps.authenticator.UserRowView.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ +00c174: 7030 c100 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00c1 │ │ +00c17a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ 0x0003 line=43 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/UserRowView; │ │ 0x0000 - 0x0004 reg=1 context Landroid/content/Context; │ │ @@ -12595,82 +7422,82 @@ │ │ type : '(Landroid/view/accessibility/AccessibilityEvent;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 139 16-bit code units │ │ -00c058: |[00c058] com.google.android.apps.authenticator.UserRowView.dispatchPopulateAccessibilityEvent:(Landroid/view/accessibility/AccessibilityEvent;)Z │ │ -00c068: 6e10 1b02 0700 |0000: invoke-virtual {v7}, Lcom/google/android/apps/authenticator/UserRowView;.getContext:()Landroid/content/Context; // method@021b │ │ -00c06e: 0c00 |0003: move-result-object v0 │ │ -00c070: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ -00c074: 1405 1600 0a7f |0006: const v5, #float 1.83434e+38 // #7f0a0016 │ │ -00c07a: 6e20 1a02 5700 |0009: invoke-virtual {v7, v5}, Lcom/google/android/apps/authenticator/UserRowView;.findViewById:(I)Landroid/view/View; // method@021a │ │ -00c080: 0c05 |000c: move-result-object v5 │ │ -00c082: 1f05 5e00 |000d: check-cast v5, Landroid/widget/TextView; // type@005e │ │ -00c086: 6e10 cb00 0500 |000f: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ -00c08c: 0c03 |0012: move-result-object v3 │ │ -00c08e: 1405 3600 067f |0013: const v5, #float 1.78118e+38 // #7f060036 │ │ -00c094: 6e20 2700 5000 |0016: invoke-virtual {v0, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0027 │ │ -00c09a: 0c05 |0019: move-result-object v5 │ │ -00c09c: 6e20 4403 3500 |001a: invoke-virtual {v5, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -00c0a2: 0a05 |001d: move-result v5 │ │ -00c0a4: 3805 4800 |001e: if-eqz v5, 0066 // +0048 │ │ -00c0a8: 1405 3500 067f |0020: const v5, #float 1.78118e+38 // #7f060035 │ │ -00c0ae: 6e20 2700 5000 |0023: invoke-virtual {v0, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0027 │ │ -00c0b4: 0c02 |0026: move-result-object v2 │ │ -00c0b6: 1405 1400 0a7f |0027: const v5, #float 1.83434e+38 // #7f0a0014 │ │ -00c0bc: 6e20 1a02 5700 |002a: invoke-virtual {v7, v5}, Lcom/google/android/apps/authenticator/UserRowView;.findViewById:(I)Landroid/view/View; // method@021a │ │ -00c0c2: 0c05 |002d: move-result-object v5 │ │ -00c0c4: 1f05 5e00 |002e: check-cast v5, Landroid/widget/TextView; // type@005e │ │ -00c0c8: 6e10 cb00 0500 |0030: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ -00c0ce: 0c04 |0033: move-result-object v4 │ │ -00c0d0: 2205 f900 |0034: new-instance v5, Ljava/lang/StringBuilder; // type@00f9 │ │ -00c0d4: 7010 5303 0500 |0036: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00c0da: 6e20 5a03 2500 |0039: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00c0e0: 0c05 |003c: move-result-object v5 │ │ -00c0e2: 1a06 0200 |003d: const-string v6, " " // string@0002 │ │ -00c0e6: 6e20 5a03 6500 |003f: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00c0ec: 0c05 |0042: move-result-object v5 │ │ -00c0ee: 6e20 5903 4500 |0043: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00c0f4: 0c05 |0046: move-result-object v5 │ │ -00c0f6: 6e10 5b03 0500 |0047: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00c0fc: 0c02 |004a: move-result-object v2 │ │ -00c0fe: 6e10 3b03 0700 |004b: invoke-virtual {v7}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@033b │ │ -00c104: 0c05 |004e: move-result-object v5 │ │ -00c106: 6e10 1903 0500 |004f: invoke-virtual {v5}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0319 │ │ -00c10c: 0c05 |0052: move-result-object v5 │ │ -00c10e: 6e20 b000 5800 |0053: invoke-virtual {v8, v5}, Landroid/view/accessibility/AccessibilityEvent;.setClassName:(Ljava/lang/CharSequence;)V // method@00b0 │ │ -00c114: 6e10 2600 0000 |0056: invoke-virtual {v0}, Landroid/content/Context;.getPackageName:()Ljava/lang/String; // method@0026 │ │ -00c11a: 0c05 |0059: move-result-object v5 │ │ -00c11c: 6e20 b100 5800 |005a: invoke-virtual {v8, v5}, Landroid/view/accessibility/AccessibilityEvent;.setPackageName:(Ljava/lang/CharSequence;)V // method@00b1 │ │ -00c122: 6e10 af00 0800 |005d: invoke-virtual {v8}, Landroid/view/accessibility/AccessibilityEvent;.getText:()Ljava/util/List; // method@00af │ │ -00c128: 0c05 |0060: move-result-object v5 │ │ -00c12a: 7220 7503 2500 |0061: invoke-interface {v5, v2}, Ljava/util/List;.add:(Ljava/lang/Object;)Z // method@0375 │ │ -00c130: 1215 |0064: const/4 v5, #int 1 // #1 │ │ -00c132: 0f05 |0065: return v5 │ │ -00c134: 1201 |0066: const/4 v1, #int 0 // #0 │ │ -00c136: 7210 1403 0300 |0067: invoke-interface {v3}, Ljava/lang/CharSequence;.length:()I // method@0314 │ │ -00c13c: 0a05 |006a: move-result v5 │ │ -00c13e: 3551 bcff |006b: if-ge v1, v5, 0027 // -0044 │ │ -00c142: 2205 f900 |006d: new-instance v5, Ljava/lang/StringBuilder; // type@00f9 │ │ -00c146: 7010 5303 0500 |006f: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00c14c: 6e20 5a03 2500 |0072: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00c152: 0c05 |0075: move-result-object v5 │ │ -00c154: 7220 1303 1300 |0076: invoke-interface {v3, v1}, Ljava/lang/CharSequence;.charAt:(I)C // method@0313 │ │ -00c15a: 0a06 |0079: move-result v6 │ │ -00c15c: 6e20 5503 6500 |007a: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ -00c162: 0c05 |007d: move-result-object v5 │ │ -00c164: 1a06 0200 |007e: const-string v6, " " // string@0002 │ │ -00c168: 6e20 5a03 6500 |0080: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00c16e: 0c05 |0083: move-result-object v5 │ │ -00c170: 6e10 5b03 0500 |0084: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00c176: 0c02 |0087: move-result-object v2 │ │ -00c178: d801 0101 |0088: add-int/lit8 v1, v1, #int 1 // #01 │ │ -00c17c: 28dd |008a: goto 0067 // -0023 │ │ +00c17c: |[00c17c] com.google.android.apps.authenticator.UserRowView.dispatchPopulateAccessibilityEvent:(Landroid/view/accessibility/AccessibilityEvent;)Z │ │ +00c18c: 6e10 1b02 0700 |0000: invoke-virtual {v7}, Lcom/google/android/apps/authenticator/UserRowView;.getContext:()Landroid/content/Context; // method@021b │ │ +00c192: 0c00 |0003: move-result-object v0 │ │ +00c194: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ +00c198: 1405 1600 0a7f |0006: const v5, #float 1.83434e+38 // #7f0a0016 │ │ +00c19e: 6e20 1a02 5700 |0009: invoke-virtual {v7, v5}, Lcom/google/android/apps/authenticator/UserRowView;.findViewById:(I)Landroid/view/View; // method@021a │ │ +00c1a4: 0c05 |000c: move-result-object v5 │ │ +00c1a6: 1f05 5e00 |000d: check-cast v5, Landroid/widget/TextView; // type@005e │ │ +00c1aa: 6e10 cb00 0500 |000f: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ +00c1b0: 0c03 |0012: move-result-object v3 │ │ +00c1b2: 1405 3600 067f |0013: const v5, #float 1.78118e+38 // #7f060036 │ │ +00c1b8: 6e20 2700 5000 |0016: invoke-virtual {v0, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0027 │ │ +00c1be: 0c05 |0019: move-result-object v5 │ │ +00c1c0: 6e20 4403 3500 |001a: invoke-virtual {v5, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00c1c6: 0a05 |001d: move-result v5 │ │ +00c1c8: 3805 4800 |001e: if-eqz v5, 0066 // +0048 │ │ +00c1cc: 1405 3500 067f |0020: const v5, #float 1.78118e+38 // #7f060035 │ │ +00c1d2: 6e20 2700 5000 |0023: invoke-virtual {v0, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@0027 │ │ +00c1d8: 0c02 |0026: move-result-object v2 │ │ +00c1da: 1405 1400 0a7f |0027: const v5, #float 1.83434e+38 // #7f0a0014 │ │ +00c1e0: 6e20 1a02 5700 |002a: invoke-virtual {v7, v5}, Lcom/google/android/apps/authenticator/UserRowView;.findViewById:(I)Landroid/view/View; // method@021a │ │ +00c1e6: 0c05 |002d: move-result-object v5 │ │ +00c1e8: 1f05 5e00 |002e: check-cast v5, Landroid/widget/TextView; // type@005e │ │ +00c1ec: 6e10 cb00 0500 |0030: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ +00c1f2: 0c04 |0033: move-result-object v4 │ │ +00c1f4: 2205 f900 |0034: new-instance v5, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c1f8: 7010 5303 0500 |0036: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c1fe: 6e20 5a03 2500 |0039: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c204: 0c05 |003c: move-result-object v5 │ │ +00c206: 1a06 0200 |003d: const-string v6, " " // string@0002 │ │ +00c20a: 6e20 5a03 6500 |003f: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c210: 0c05 |0042: move-result-object v5 │ │ +00c212: 6e20 5903 4500 |0043: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00c218: 0c05 |0046: move-result-object v5 │ │ +00c21a: 6e10 5b03 0500 |0047: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c220: 0c02 |004a: move-result-object v2 │ │ +00c222: 6e10 3b03 0700 |004b: invoke-virtual {v7}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@033b │ │ +00c228: 0c05 |004e: move-result-object v5 │ │ +00c22a: 6e10 1903 0500 |004f: invoke-virtual {v5}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0319 │ │ +00c230: 0c05 |0052: move-result-object v5 │ │ +00c232: 6e20 b000 5800 |0053: invoke-virtual {v8, v5}, Landroid/view/accessibility/AccessibilityEvent;.setClassName:(Ljava/lang/CharSequence;)V // method@00b0 │ │ +00c238: 6e10 2600 0000 |0056: invoke-virtual {v0}, Landroid/content/Context;.getPackageName:()Ljava/lang/String; // method@0026 │ │ +00c23e: 0c05 |0059: move-result-object v5 │ │ +00c240: 6e20 b100 5800 |005a: invoke-virtual {v8, v5}, Landroid/view/accessibility/AccessibilityEvent;.setPackageName:(Ljava/lang/CharSequence;)V // method@00b1 │ │ +00c246: 6e10 af00 0800 |005d: invoke-virtual {v8}, Landroid/view/accessibility/AccessibilityEvent;.getText:()Ljava/util/List; // method@00af │ │ +00c24c: 0c05 |0060: move-result-object v5 │ │ +00c24e: 7220 7503 2500 |0061: invoke-interface {v5, v2}, Ljava/util/List;.add:(Ljava/lang/Object;)Z // method@0375 │ │ +00c254: 1215 |0064: const/4 v5, #int 1 // #1 │ │ +00c256: 0f05 |0065: return v5 │ │ +00c258: 1201 |0066: const/4 v1, #int 0 // #0 │ │ +00c25a: 7210 1403 0300 |0067: invoke-interface {v3}, Ljava/lang/CharSequence;.length:()I // method@0314 │ │ +00c260: 0a05 |006a: move-result v5 │ │ +00c262: 3551 bcff |006b: if-ge v1, v5, 0027 // -0044 │ │ +00c266: 2205 f900 |006d: new-instance v5, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c26a: 7010 5303 0500 |006f: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c270: 6e20 5a03 2500 |0072: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c276: 0c05 |0075: move-result-object v5 │ │ +00c278: 7220 1303 1300 |0076: invoke-interface {v3, v1}, Ljava/lang/CharSequence;.charAt:(I)C // method@0313 │ │ +00c27e: 0a06 |0079: move-result v6 │ │ +00c280: 6e20 5503 6500 |007a: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@0355 │ │ +00c286: 0c05 |007d: move-result-object v5 │ │ +00c288: 1a06 0200 |007e: const-string v6, " " // string@0002 │ │ +00c28c: 6e20 5a03 6500 |0080: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c292: 0c05 |0083: move-result-object v5 │ │ +00c294: 6e10 5b03 0500 |0084: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c29a: 0c02 |0087: move-result-object v2 │ │ +00c29c: d801 0101 |0088: add-int/lit8 v1, v1, #int 1 // #01 │ │ +00c2a0: 28dd |008a: goto 0067 // -0023 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ 0x0004 line=49 │ │ 0x0006 line=50 │ │ 0x0013 line=51 │ │ 0x0020 line=52 │ │ @@ -12688,27 +7515,27 @@ │ │ 0x0004 - 0x008b reg=0 ctx Landroid/content/Context; │ │ 0x0067 - 0x008b reg=1 i I │ │ 0x0006 - 0x008b reg=2 message Ljava/lang/String; │ │ 0x0013 - 0x008b reg=3 pinText Ljava/lang/CharSequence; │ │ 0x0000 - 0x008b reg=7 this Lcom/google/android/apps/authenticator/UserRowView; │ │ 0x0000 - 0x008b reg=8 accessEvent Landroid/view/accessibility/AccessibilityEvent; │ │ │ │ - source_file_idx : 664 (UserRowView.java) │ │ + source_file_idx : 661 (UserRowView.java) │ │ │ │ -Class #59 header: │ │ +Class #43 header: │ │ class_idx : 149 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ -source_file_idx : 665 │ │ +source_file_idx : 662 │ │ static_fields_size : 8 │ │ instance_fields_size: 0 │ │ direct_methods_size : 4 │ │ virtual_methods_size: 0 │ │ │ │ -Class #59 - │ │ +Class #43 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/Utilities;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/Utilities;) │ │ name : 'DOWNLOAD_DIALOG' │ │ @@ -12757,17 +7584,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00c180: |[00c180] com.google.android.apps.authenticator.Utilities.:()V │ │ -00c190: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00c196: 0e00 |0003: return-void │ │ +00c2a4: |[00c2a4] com.google.android.apps.authenticator.Utilities.:()V │ │ +00c2b4: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00c2ba: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=46 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/Utilities; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/Utilities;) │ │ @@ -12775,18 +7602,18 @@ │ │ type : '(J)J' │ │ access : 0x0019 (PUBLIC STATIC FINAL) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 5 16-bit code units │ │ -00c198: |[00c198] com.google.android.apps.authenticator.Utilities.millisToSeconds:(J)J │ │ -00c1a8: 1600 e803 |0000: const-wide/16 v0, #int 1000 // #3e8 │ │ -00c1ac: 9e00 0200 |0002: div-long v0, v2, v0 │ │ -00c1b0: 1000 |0004: return-wide v0 │ │ +00c2bc: |[00c2bc] com.google.android.apps.authenticator.Utilities.millisToSeconds:(J)J │ │ +00c2cc: 1600 e803 |0000: const-wide/16 v0, #int 1000 // #3e8 │ │ +00c2d0: 9e00 0200 |0002: div-long v0, v2, v0 │ │ +00c2d4: 1000 |0004: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=49 │ │ locals : │ │ 0x0000 - 0x0005 reg=2 timeMillis J │ │ │ │ #2 : (in Lcom/google/android/apps/authenticator/Utilities;) │ │ @@ -12794,18 +7621,18 @@ │ │ type : '(J)J' │ │ access : 0x0019 (PUBLIC STATIC FINAL) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -00c1b4: |[00c1b4] com.google.android.apps.authenticator.Utilities.secondsToMillis:(J)J │ │ -00c1c4: 1600 e803 |0000: const-wide/16 v0, #int 1000 // #3e8 │ │ -00c1c8: bd20 |0002: mul-long/2addr v0, v2 │ │ -00c1ca: 1000 |0003: return-wide v0 │ │ +00c2d8: |[00c2d8] com.google.android.apps.authenticator.Utilities.secondsToMillis:(J)J │ │ +00c2e8: 1600 e803 |0000: const-wide/16 v0, #int 1000 // #3e8 │ │ +00c2ec: bd20 |0002: mul-long/2addr v0, v2 │ │ +00c2ee: 1000 |0003: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=53 │ │ locals : │ │ 0x0000 - 0x0004 reg=2 timeSeconds J │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/Utilities;) │ │ @@ -12813,53 +7640,53 @@ │ │ type : '(Landroid/webkit/WebView;Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 12 16-bit code units │ │ -00c1cc: |[00c1cc] com.google.android.apps.authenticator.Utilities.setWebViewHtml:(Landroid/webkit/WebView;Ljava/lang/String;)V │ │ -00c1dc: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -00c1de: 1a03 8606 |0001: const-string v3, "text/html" // string@0686 │ │ -00c1e2: 1a04 cd06 |0003: const-string v4, "utf-8" // string@06cd │ │ -00c1e6: 0760 |0005: move-object v0, v6 │ │ -00c1e8: 0772 |0006: move-object v2, v7 │ │ -00c1ea: 0715 |0007: move-object v5, v1 │ │ -00c1ec: 7406 b400 0000 |0008: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Landroid/webkit/WebView;.loadDataWithBaseURL:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@00b4 │ │ -00c1f2: 0e00 |000b: return-void │ │ +00c2f0: |[00c2f0] com.google.android.apps.authenticator.Utilities.setWebViewHtml:(Landroid/webkit/WebView;Ljava/lang/String;)V │ │ +00c300: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +00c302: 1a03 8006 |0001: const-string v3, "text/html" // string@0680 │ │ +00c306: 1a04 c706 |0003: const-string v4, "utf-8" // string@06c7 │ │ +00c30a: 0760 |0005: move-object v0, v6 │ │ +00c30c: 0772 |0006: move-object v2, v7 │ │ +00c30e: 0715 |0007: move-object v5, v1 │ │ +00c310: 7406 b400 0000 |0008: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Landroid/webkit/WebView;.loadDataWithBaseURL:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@00b4 │ │ +00c316: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=60 │ │ 0x000b line=61 │ │ locals : │ │ 0x0000 - 0x000c reg=6 view Landroid/webkit/WebView; │ │ 0x0000 - 0x000c reg=7 html Ljava/lang/String; │ │ │ │ Virtual methods - │ │ - source_file_idx : 665 (Utilities.java) │ │ + source_file_idx : 662 (Utilities.java) │ │ │ │ -Class #60 header: │ │ +Class #44 header: │ │ class_idx : 152 │ │ access_flags : 1537 (0x0601) │ │ superclass_idx : 243 │ │ source_file_idx : 161 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 0 │ │ virtual_methods_size: 2 │ │ │ │ -Class #60 annotations: │ │ +Class #44 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub; } │ │ Annotations on method #556 'getData' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Landroid/os/RemoteException; } │ │ Annotations on method #557 'onImportSucceeded' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Landroid/os/RemoteException; } │ │ │ │ -Class #60 - │ │ +Class #44 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;' │ │ Access flags : 0x0601 (PUBLIC INTERFACE ABSTRACT) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/os/IInterface;' │ │ Static fields - │ │ Instance fields - │ │ @@ -12875,439 +7702,56 @@ │ │ name : 'onImportSucceeded' │ │ type : '()V' │ │ access : 0x0401 (PUBLIC ABSTRACT) │ │ code : (none) │ │ │ │ source_file_idx : 161 (IExportServiceV2.java) │ │ │ │ -Class #61 header: │ │ -class_idx : 150 │ │ -access_flags : 0 (0x0000) │ │ -superclass_idx : 243 │ │ -source_file_idx : 161 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 1 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 4 │ │ - │ │ -Class #61 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub; │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=10 name="Proxy" │ │ -Annotations on method #546 'getData' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Landroid/os/RemoteException; } │ │ -Annotations on method #548 'onImportSucceeded' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Landroid/os/RemoteException; } │ │ - │ │ -Class #61 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;' │ │ - Access flags : 0x0000 () │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;' │ │ - Static fields - │ │ - Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ - name : 'mRemote' │ │ - type : 'Landroid/os/IBinder;' │ │ - access : 0x0002 (PRIVATE) │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ - name : '' │ │ - type : '(Landroid/os/IBinder;)V' │ │ - access : 0x10000 (CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 2 │ │ - outs : 1 │ │ - insns size : 6 16-bit code units │ │ -00c1f4: |[00c1f4] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.:(Landroid/os/IBinder;)V │ │ -00c204: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00c20a: 5b01 a900 |0003: iput-object v1, v0, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.mRemote:Landroid/os/IBinder; // field@00a9 │ │ -00c20e: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=73 │ │ - 0x0003 line=74 │ │ - 0x0005 line=75 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ - 0x0000 - 0x0006 reg=1 remote Landroid/os/IBinder; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ - name : 'asBinder' │ │ - type : '()Landroid/os/IBinder;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -00c210: |[00c210] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.asBinder:()Landroid/os/IBinder; │ │ -00c220: 5410 a900 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.mRemote:Landroid/os/IBinder; // field@00a9 │ │ -00c224: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=78 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ - name : 'getData' │ │ - type : '()Landroid/os/Bundle;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 7 │ │ - ins : 1 │ │ - outs : 5 │ │ - insns size : 54 16-bit code units │ │ -00c228: |[00c228] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.getData:()Landroid/os/Bundle; │ │ -00c238: 7100 8200 0000 |0000: invoke-static {}, Landroid/os/Parcel;.obtain:()Landroid/os/Parcel; // method@0082 │ │ -00c23e: 0c00 |0003: move-result-object v0 │ │ -00c240: 7100 8200 0000 |0004: invoke-static {}, Landroid/os/Parcel;.obtain:()Landroid/os/Parcel; // method@0082 │ │ -00c246: 0c01 |0007: move-result-object v1 │ │ -00c248: 1a03 7f03 |0008: const-string v3, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037f │ │ -00c24c: 6e20 8700 3000 |000a: invoke-virtual {v0, v3}, Landroid/os/Parcel;.writeInterfaceToken:(Ljava/lang/String;)V // method@0087 │ │ -00c252: 5463 a900 |000d: iget-object v3, v6, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.mRemote:Landroid/os/IBinder; // field@00a9 │ │ -00c256: 1214 |000f: const/4 v4, #int 1 // #1 │ │ -00c258: 1205 |0010: const/4 v5, #int 0 // #0 │ │ -00c25a: 7255 7f00 4310 |0011: invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z // method@007f │ │ -00c260: 6e10 8300 0100 |0014: invoke-virtual {v1}, Landroid/os/Parcel;.readException:()V // method@0083 │ │ -00c266: 6e10 8400 0100 |0017: invoke-virtual {v1}, Landroid/os/Parcel;.readInt:()I // method@0084 │ │ -00c26c: 0a03 |001a: move-result v3 │ │ -00c26e: 3803 1100 |001b: if-eqz v3, 002c // +0011 │ │ -00c272: 6203 0500 |001d: sget-object v3, Landroid/os/Bundle;.CREATOR:Landroid/os/Parcelable$Creator; // field@0005 │ │ -00c276: 7220 8a00 1300 |001f: invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object; // method@008a │ │ -00c27c: 0c02 |0022: move-result-object v2 │ │ -00c27e: 1f02 2e00 |0023: check-cast v2, Landroid/os/Bundle; // type@002e │ │ -00c282: 6e10 8500 0100 |0025: invoke-virtual {v1}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ -00c288: 6e10 8500 0000 |0028: invoke-virtual {v0}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ -00c28e: 1102 |002b: return-object v2 │ │ -00c290: 1202 |002c: const/4 v2, #int 0 // #0 │ │ -00c292: 28f8 |002d: goto 0025 // -0008 │ │ -00c294: 0d03 |002e: move-exception v3 │ │ -00c296: 6e10 8500 0100 |002f: invoke-virtual {v1}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ -00c29c: 6e10 8500 0000 |0032: invoke-virtual {v0}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ -00c2a2: 2703 |0035: throw v3 │ │ - catches : 1 │ │ - 0x0008 - 0x0025 │ │ - -> 0x002e │ │ - positions : │ │ - 0x0000 line=86 │ │ - 0x0004 line=87 │ │ - 0x0008 line=90 │ │ - 0x000d line=91 │ │ - 0x0014 line=92 │ │ - 0x0017 line=93 │ │ - 0x001d line=94 │ │ - 0x0025 line=101 │ │ - 0x0028 line=102 │ │ - 0x002b line=104 │ │ - 0x002c line=97 │ │ - 0x002e line=101 │ │ - 0x0032 line=102 │ │ - locals : │ │ - 0x0025 - 0x002c reg=2 _result Landroid/os/Bundle; │ │ - 0x002d - 0x002e reg=2 _result Landroid/os/Bundle; │ │ - 0x0004 - 0x0036 reg=0 _data Landroid/os/Parcel; │ │ - 0x0008 - 0x0036 reg=1 _reply Landroid/os/Parcel; │ │ - 0x0000 - 0x0036 reg=6 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ - name : 'getInterfaceDescriptor' │ │ - type : '()Ljava/lang/String;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -00c2b0: |[00c2b0] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.getInterfaceDescriptor:()Ljava/lang/String; │ │ -00c2c0: 1a00 7f03 |0000: const-string v0, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037f │ │ -00c2c4: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=82 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ - name : 'onImportSucceeded' │ │ - type : '()V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 6 │ │ - ins : 1 │ │ - outs : 5 │ │ - insns size : 38 16-bit code units │ │ -00c2c8: |[00c2c8] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.onImportSucceeded:()V │ │ -00c2d8: 7100 8200 0000 |0000: invoke-static {}, Landroid/os/Parcel;.obtain:()Landroid/os/Parcel; // method@0082 │ │ -00c2de: 0c00 |0003: move-result-object v0 │ │ -00c2e0: 7100 8200 0000 |0004: invoke-static {}, Landroid/os/Parcel;.obtain:()Landroid/os/Parcel; // method@0082 │ │ -00c2e6: 0c01 |0007: move-result-object v1 │ │ -00c2e8: 1a02 7f03 |0008: const-string v2, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037f │ │ -00c2ec: 6e20 8700 2000 |000a: invoke-virtual {v0, v2}, Landroid/os/Parcel;.writeInterfaceToken:(Ljava/lang/String;)V // method@0087 │ │ -00c2f2: 5452 a900 |000d: iget-object v2, v5, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.mRemote:Landroid/os/IBinder; // field@00a9 │ │ -00c2f6: 1223 |000f: const/4 v3, #int 2 // #2 │ │ -00c2f8: 1204 |0010: const/4 v4, #int 0 // #0 │ │ -00c2fa: 7254 7f00 3210 |0011: invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z // method@007f │ │ -00c300: 6e10 8300 0100 |0014: invoke-virtual {v1}, Landroid/os/Parcel;.readException:()V // method@0083 │ │ -00c306: 6e10 8500 0100 |0017: invoke-virtual {v1}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ -00c30c: 6e10 8500 0000 |001a: invoke-virtual {v0}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ -00c312: 0e00 |001d: return-void │ │ -00c314: 0d02 |001e: move-exception v2 │ │ -00c316: 6e10 8500 0100 |001f: invoke-virtual {v1}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ -00c31c: 6e10 8500 0000 |0022: invoke-virtual {v0}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ -00c322: 2702 |0025: throw v2 │ │ - catches : 1 │ │ - 0x0008 - 0x0017 │ │ - -> 0x001e │ │ - positions : │ │ - 0x0000 line=108 │ │ - 0x0004 line=109 │ │ - 0x0008 line=111 │ │ - 0x000d line=112 │ │ - 0x0014 line=113 │ │ - 0x0017 line=116 │ │ - 0x001a line=117 │ │ - 0x001d line=119 │ │ - 0x001e line=116 │ │ - 0x0022 line=117 │ │ - locals : │ │ - 0x0004 - 0x0026 reg=0 _data Landroid/os/Parcel; │ │ - 0x0008 - 0x0026 reg=1 _reply Landroid/os/Parcel; │ │ - 0x0000 - 0x0026 reg=5 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ - │ │ - source_file_idx : 161 (IExportServiceV2.java) │ │ - │ │ -Class #62 header: │ │ -class_idx : 151 │ │ -access_flags : 1025 (0x0401) │ │ -superclass_idx : 44 │ │ -source_file_idx : 161 │ │ -static_fields_size : 3 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 2 │ │ -virtual_methods_size: 2 │ │ - │ │ -Class #62 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1033 name="Stub" │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; } │ │ -Annotations on method #555 'onTransact' │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Landroid/os/RemoteException; } │ │ - │ │ -Class #62 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;' │ │ - Access flags : 0x0401 (PUBLIC ABSTRACT) │ │ - Superclass : 'Landroid/os/Binder;' │ │ - Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;' │ │ - Static fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ - name : 'DESCRIPTOR' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "com.google.android.apps.authenticator.dataexport.IExportServiceV2" │ │ - #1 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ - name : 'TRANSACTION_getData' │ │ - type : 'I' │ │ - access : 0x0018 (STATIC FINAL) │ │ - value : 1 │ │ - #2 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ - name : 'TRANSACTION_onImportSucceeded' │ │ - type : 'I' │ │ - access : 0x0018 (STATIC FINAL) │ │ - value : 2 │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 9 16-bit code units │ │ -00c330: |[00c330] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub.:()V │ │ -00c340: 7010 6d00 0100 |0000: invoke-direct {v1}, Landroid/os/Binder;.:()V // method@006d │ │ -00c346: 1a00 7f03 |0003: const-string v0, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037f │ │ -00c34a: 6e30 2802 1100 |0005: invoke-virtual {v1, v1, v0}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;.attachInterface:(Landroid/os/IInterface;Ljava/lang/String;)V // method@0228 │ │ -00c350: 0e00 |0008: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=14 │ │ - 0x0003 line=15 │ │ - 0x0008 line=16 │ │ - locals : │ │ - 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ - name : 'asInterface' │ │ - type : '(Landroid/os/IBinder;)Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;' │ │ - access : 0x0009 (PUBLIC STATIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 25 16-bit code units │ │ -00c354: |[00c354] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub.asInterface:(Landroid/os/IBinder;)Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; │ │ -00c364: 3902 0400 |0000: if-nez v2, 0004 // +0004 │ │ -00c368: 1200 |0002: const/4 v0, #int 0 // #0 │ │ -00c36a: 1100 |0003: return-object v0 │ │ -00c36c: 1a01 7f03 |0004: const-string v1, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037f │ │ -00c370: 7220 7e00 1200 |0006: invoke-interface {v2, v1}, Landroid/os/IBinder;.queryLocalInterface:(Ljava/lang/String;)Landroid/os/IInterface; // method@007e │ │ -00c376: 0c00 |0009: move-result-object v0 │ │ -00c378: 3800 0900 |000a: if-eqz v0, 0013 // +0009 │ │ -00c37c: 2001 9800 |000c: instance-of v1, v0, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; // type@0098 │ │ -00c380: 3801 0500 |000e: if-eqz v1, 0013 // +0005 │ │ -00c384: 1f00 9800 |0010: check-cast v0, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; // type@0098 │ │ -00c388: 28f1 |0012: goto 0003 // -000f │ │ -00c38a: 2200 9600 |0013: new-instance v0, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; // type@0096 │ │ -00c38e: 7020 2002 2000 |0015: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.:(Landroid/os/IBinder;)V // method@0220 │ │ -00c394: 28eb |0018: goto 0003 // -0015 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=23 │ │ - 0x0002 line=24 │ │ - 0x0003 line=30 │ │ - 0x0004 line=26 │ │ - 0x000a line=27 │ │ - 0x0010 line=28 │ │ - 0x0013 line=30 │ │ - locals : │ │ - 0x000a - 0x0015 reg=0 iin Landroid/os/IInterface; │ │ - 0x0000 - 0x0019 reg=2 obj Landroid/os/IBinder; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ - name : 'asBinder' │ │ - type : '()Landroid/os/IBinder;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -00c398: |[00c398] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub.asBinder:()Landroid/os/IBinder; │ │ -00c3a8: 1100 |0000: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=34 │ │ - locals : │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ - name : 'onTransact' │ │ - type : '(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 8 │ │ - ins : 5 │ │ - outs : 5 │ │ - insns size : 68 16-bit code units │ │ -00c3ac: |[00c3ac] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z │ │ -00c3bc: 1211 |0000: const/4 v1, #int 1 // #1 │ │ -00c3be: 2c04 3500 0000 |0001: sparse-switch v4, 00000036 // +00000035 │ │ -00c3c4: 6f57 6e00 4365 |0004: invoke-super {v3, v4, v5, v6, v7}, Landroid/os/Binder;.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z // method@006e │ │ -00c3ca: 0a01 |0007: move-result v1 │ │ -00c3cc: 0f01 |0008: return v1 │ │ -00c3ce: 1a02 7f03 |0009: const-string v2, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037f │ │ -00c3d2: 6e20 8900 2600 |000b: invoke-virtual {v6, v2}, Landroid/os/Parcel;.writeString:(Ljava/lang/String;)V // method@0089 │ │ -00c3d8: 28fa |000e: goto 0008 // -0006 │ │ -00c3da: 1a02 7f03 |000f: const-string v2, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037f │ │ -00c3de: 6e20 8100 2500 |0011: invoke-virtual {v5, v2}, Landroid/os/Parcel;.enforceInterface:(Ljava/lang/String;)V // method@0081 │ │ -00c3e4: 6e10 2902 0300 |0014: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;.getData:()Landroid/os/Bundle; // method@0229 │ │ -00c3ea: 0c00 |0017: move-result-object v0 │ │ -00c3ec: 6e10 8800 0600 |0018: invoke-virtual {v6}, Landroid/os/Parcel;.writeNoException:()V // method@0088 │ │ -00c3f2: 3800 0900 |001b: if-eqz v0, 0024 // +0009 │ │ -00c3f6: 6e20 8600 1600 |001d: invoke-virtual {v6, v1}, Landroid/os/Parcel;.writeInt:(I)V // method@0086 │ │ -00c3fc: 6e30 7900 6001 |0020: invoke-virtual {v0, v6, v1}, Landroid/os/Bundle;.writeToParcel:(Landroid/os/Parcel;I)V // method@0079 │ │ -00c402: 28e5 |0023: goto 0008 // -001b │ │ -00c404: 1202 |0024: const/4 v2, #int 0 // #0 │ │ -00c406: 6e20 8600 2600 |0025: invoke-virtual {v6, v2}, Landroid/os/Parcel;.writeInt:(I)V // method@0086 │ │ -00c40c: 28e0 |0028: goto 0008 // -0020 │ │ -00c40e: 1a02 7f03 |0029: const-string v2, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037f │ │ -00c412: 6e20 8100 2500 |002b: invoke-virtual {v5, v2}, Landroid/os/Parcel;.enforceInterface:(Ljava/lang/String;)V // method@0081 │ │ -00c418: 6e10 2a02 0300 |002e: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;.onImportSucceeded:()V // method@022a │ │ -00c41e: 6e10 8800 0600 |0031: invoke-virtual {v6}, Landroid/os/Parcel;.writeNoException:()V // method@0088 │ │ -00c424: 28d4 |0034: goto 0008 // -002c │ │ -00c426: 0000 |0035: nop // spacer │ │ -00c428: 0002 0300 0100 0000 0200 0000 4654 ... |0036: sparse-switch-data (14 units) │ │ - catches : (none) │ │ - positions : │ │ - 0x0001 line=38 │ │ - 0x0004 line=67 │ │ - 0x0009 line=42 │ │ - 0x000f line=47 │ │ - 0x0014 line=48 │ │ - 0x0018 line=49 │ │ - 0x001b line=50 │ │ - 0x001d line=51 │ │ - 0x0020 line=52 │ │ - 0x0024 line=55 │ │ - 0x0029 line=61 │ │ - 0x002e line=62 │ │ - 0x0031 line=63 │ │ - 0x0035 line=38 │ │ - locals : │ │ - 0x0018 - 0x0029 reg=0 _result Landroid/os/Bundle; │ │ - 0x0000 - 0x0044 reg=3 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub; │ │ - 0x0000 - 0x0044 reg=4 code I │ │ - 0x0000 - 0x0044 reg=5 data Landroid/os/Parcel; │ │ - 0x0000 - 0x0044 reg=6 reply Landroid/os/Parcel; │ │ - 0x0000 - 0x0044 reg=7 flags I │ │ - │ │ - source_file_idx : 161 (IExportServiceV2.java) │ │ - │ │ -Class #63 header: │ │ +Class #45 header: │ │ class_idx : 153 │ │ access_flags : 4096 (0x1000) │ │ superclass_idx : 243 │ │ source_file_idx : 128 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 0 │ │ virtual_methods_size: 0 │ │ │ │ -Class #63 annotations: │ │ +Class #45 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=4104 name=null │ │ │ │ -Class #63 - │ │ +Class #45 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1;' │ │ Access flags : 0x1000 (SYNTHETIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ Virtual methods - │ │ source_file_idx : 128 (ExportServiceBasedImportController.java) │ │ │ │ -Class #64 header: │ │ +Class #46 header: │ │ class_idx : 154 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 128 │ │ static_fields_size : 0 │ │ instance_fields_size: 3 │ │ direct_methods_size : 2 │ │ virtual_methods_size: 2 │ │ │ │ -Class #64 annotations: │ │ +Class #46 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=2 name="ExportServiceConnection" │ │ │ │ -Class #64 - │ │ +Class #46 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/ServiceConnection;' │ │ Static fields - │ │ Instance fields - │ │ @@ -13329,20 +7773,20 @@ │ │ type : '(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -00c444: |[00c444] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController$ExportServiceConnection.:(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ -00c454: 5b01 af00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.this$0:Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; // field@00af │ │ -00c458: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00c45e: 5b02 ad00 |0005: iput-object v2, v0, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ -00c462: 5b03 ae00 |0007: iput-object v3, v0, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c466: 0e00 |0009: return-void │ │ +00c318: |[00c318] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController$ExportServiceConnection.:(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ +00c328: 5b01 af00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.this$0:Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; // field@00af │ │ +00c32c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00c332: 5b02 ad00 |0005: iput-object v2, v0, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ +00c336: 5b03 ae00 |0007: iput-object v3, v0, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c33a: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=76 │ │ 0x0005 line=77 │ │ 0x0007 line=78 │ │ 0x0009 line=79 │ │ locals : │ │ @@ -13356,17 +7800,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 4 │ │ insns size : 4 16-bit code units │ │ -00c468: |[00c468] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController$ExportServiceConnection.:(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1;)V │ │ -00c478: 7040 2e02 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.:(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@022e │ │ -00c47e: 0e00 |0003: return-void │ │ +00c33c: |[00c33c] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController$ExportServiceConnection.:(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1;)V │ │ +00c34c: 7040 2e02 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.:(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@022e │ │ +00c352: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=72 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection; │ │ 0x0000 - 0x0004 reg=1 x0 Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; │ │ 0x0000 - 0x0004 reg=2 x1 Landroid/content/Context; │ │ @@ -13379,215 +7823,215 @@ │ │ type : '(Landroid/content/ComponentName;Landroid/os/IBinder;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 418 16-bit code units │ │ -00c480: |[00c480] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController$ExportServiceConnection.onServiceConnected:(Landroid/content/ComponentName;Landroid/os/IBinder;)V │ │ -00c490: 7110 2702 0900 |0000: invoke-static {v9}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;.asInterface:(Landroid/os/IBinder;)Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; // method@0227 │ │ -00c496: 0c01 |0003: move-result-object v1 │ │ -00c498: 7210 2c02 0100 |0004: invoke-interface {v1}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;.getData:()Landroid/os/Bundle; // method@022c │ │ -00c49e: 0c02 |0007: move-result-object v2 │ │ -00c4a0: 3802 5a01 |0008: if-eqz v2, 0162 // +015a │ │ -00c4a4: 2203 a000 |000a: new-instance v3, Lcom/google/android/apps/authenticator/dataimport/Importer; // type@00a0 │ │ -00c4a8: 7010 4402 0300 |000c: invoke-direct {v3}, Lcom/google/android/apps/authenticator/dataimport/Importer;.:()V // method@0244 │ │ -00c4ae: 7100 6402 0000 |000f: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ -00c4b4: 0c04 |0012: move-result-object v4 │ │ -00c4b6: 7100 6802 0000 |0013: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -00c4bc: 0c05 |0016: move-result-object v5 │ │ -00c4be: 5476 ad00 |0017: iget-object v6, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ -00c4c2: 7220 c601 6500 |0019: invoke-interface {v5, v6}, Lcom/google/android/apps/authenticator/OptionalFeatures;.getSharedPreferencesForDataImportFromOldApp:(Landroid/content/Context;)Landroid/content/SharedPreferences; // method@01c6 │ │ -00c4c8: 0c05 |001c: move-result-object v5 │ │ -00c4ca: 6e40 4602 2354 |001d: invoke-virtual {v3, v2, v4, v5}, Lcom/google/android/apps/authenticator/dataimport/Importer;.importFromBundle:(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;Landroid/content/SharedPreferences;)V // method@0246 │ │ -00c4d0: 1a03 b200 |0020: const-string v3, "ImportController" // string@00b2 │ │ -00c4d4: 1a04 7202 |0022: const-string v4, "Successfully imported data from the old app" // string@0272 │ │ -00c4d8: 7120 9900 4300 |0024: invoke-static {v3, v4}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ -00c4de: 5473 ae00 |0027: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c4e2: 7110 3302 0300 |0029: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$100:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0233 │ │ -00c4e8: 7210 2d02 0100 |002c: invoke-interface {v1}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;.onImportSucceeded:()V // method@022d │ │ -00c4ee: 5473 ae00 |002f: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c4f2: 7110 3402 0300 |0031: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$200:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0234 │ │ -00c4f8: 5473 ad00 |0034: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ -00c4fc: 6e20 2b00 7300 |0036: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ -00c502: 5473 ae00 |0039: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c506: 7110 3502 0300 |003b: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c50c: 0e00 |003e: return-void │ │ -00c50e: 0d00 |003f: move-exception v0 │ │ -00c510: 1a03 b200 |0040: const-string v3, "ImportController" // string@00b2 │ │ -00c514: 2204 f900 |0042: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ -00c518: 7010 5303 0400 |0044: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00c51e: 1a05 8c00 |0047: const-string v5, "Failed to obtain export interface: " // string@008c │ │ -00c522: 6e20 5a03 5400 |0049: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00c528: 0c04 |004c: move-result-object v4 │ │ -00c52a: 6e20 5903 0400 |004d: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00c530: 0c04 |0050: move-result-object v4 │ │ -00c532: 6e10 5b03 0400 |0051: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00c538: 0c04 |0054: move-result-object v4 │ │ -00c53a: 7120 9a00 4300 |0055: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00c540: 5473 ad00 |0058: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ -00c544: 6e20 2b00 7300 |005a: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ -00c54a: 5473 ae00 |005d: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c54e: 7110 3502 0300 |005f: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c554: 28dc |0062: goto 003e // -0024 │ │ -00c556: 0d00 |0063: move-exception v0 │ │ -00c558: 1a03 b200 |0064: const-string v3, "ImportController" // string@00b2 │ │ -00c55c: 1a04 9000 |0066: const-string v4, "Failed to unbind service" // string@0090 │ │ -00c560: 7130 9b00 4300 |0068: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ -00c566: 5473 ae00 |006b: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c56a: 7110 3502 0300 |006d: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c570: 28ce |0070: goto 003e // -0032 │ │ -00c572: 0d03 |0071: move-exception v3 │ │ -00c574: 5474 ae00 |0072: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c578: 7110 3502 0400 |0074: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c57e: 2703 |0077: throw v3 │ │ -00c580: 0d00 |0078: move-exception v0 │ │ -00c582: 1a03 b200 |0079: const-string v3, "ImportController" // string@00b2 │ │ -00c586: 2204 f900 |007b: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ -00c58a: 7010 5303 0400 |007d: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00c590: 1a05 8b00 |0080: const-string v5, "Failed to obtain data: " // string@008b │ │ -00c594: 6e20 5a03 5400 |0082: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00c59a: 0c04 |0085: move-result-object v4 │ │ -00c59c: 6e20 5903 0400 |0086: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00c5a2: 0c04 |0089: move-result-object v4 │ │ -00c5a4: 6e10 5b03 0400 |008a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00c5aa: 0c04 |008d: move-result-object v4 │ │ -00c5ac: 7120 9a00 4300 |008e: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00c5b2: 5473 ad00 |0091: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ -00c5b6: 6e20 2b00 7300 |0093: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ -00c5bc: 5473 ae00 |0096: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c5c0: 7110 3502 0300 |0098: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c5c6: 28a3 |009b: goto 003e // -005d │ │ -00c5c8: 0d00 |009c: move-exception v0 │ │ -00c5ca: 1a03 b200 |009d: const-string v3, "ImportController" // string@00b2 │ │ -00c5ce: 1a04 9000 |009f: const-string v4, "Failed to unbind service" // string@0090 │ │ -00c5d2: 7130 9b00 4300 |00a1: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ -00c5d8: 5473 ae00 |00a4: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c5dc: 7110 3502 0300 |00a6: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c5e2: 2895 |00a9: goto 003e // -006b │ │ -00c5e4: 0d03 |00aa: move-exception v3 │ │ -00c5e6: 5474 ae00 |00ab: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c5ea: 7110 3502 0400 |00ad: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c5f0: 2703 |00b0: throw v3 │ │ -00c5f2: 0d00 |00b1: move-exception v0 │ │ -00c5f4: 1a03 b200 |00b2: const-string v3, "ImportController" // string@00b2 │ │ -00c5f8: 2204 f900 |00b4: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ -00c5fc: 7010 5303 0400 |00b6: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00c602: 1a05 8b00 |00b9: const-string v5, "Failed to obtain data: " // string@008b │ │ -00c606: 6e20 5a03 5400 |00bb: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00c60c: 0c04 |00be: move-result-object v4 │ │ -00c60e: 6e20 5903 0400 |00bf: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00c614: 0c04 |00c2: move-result-object v4 │ │ -00c616: 6e10 5b03 0400 |00c3: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00c61c: 0c04 |00c6: move-result-object v4 │ │ -00c61e: 7120 9a00 4300 |00c7: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00c624: 5473 ad00 |00ca: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ -00c628: 6e20 2b00 7300 |00cc: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ -00c62e: 5473 ae00 |00cf: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c632: 7110 3502 0300 |00d1: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c638: 2900 6aff |00d4: goto/16 003e // -0096 │ │ -00c63c: 0d00 |00d6: move-exception v0 │ │ -00c63e: 1a03 b200 |00d7: const-string v3, "ImportController" // string@00b2 │ │ -00c642: 1a04 9000 |00d9: const-string v4, "Failed to unbind service" // string@0090 │ │ -00c646: 7130 9b00 4300 |00db: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ -00c64c: 5473 ae00 |00de: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c650: 7110 3502 0300 |00e0: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c656: 2900 5bff |00e3: goto/16 003e // -00a5 │ │ -00c65a: 0d03 |00e5: move-exception v3 │ │ -00c65c: 5474 ae00 |00e6: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c660: 7110 3502 0400 |00e8: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c666: 2703 |00eb: throw v3 │ │ -00c668: 0d00 |00ec: move-exception v0 │ │ -00c66a: 1a03 b200 |00ed: const-string v3, "ImportController" // string@00b2 │ │ -00c66e: 2204 f900 |00ef: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ -00c672: 7010 5303 0400 |00f1: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00c678: 1a05 8a00 |00f4: const-string v5, "Failed to notify old app that import succeeded: " // string@008a │ │ -00c67c: 6e20 5a03 5400 |00f6: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00c682: 0c04 |00f9: move-result-object v4 │ │ -00c684: 6e20 5903 0400 |00fa: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00c68a: 0c04 |00fd: move-result-object v4 │ │ -00c68c: 6e10 5b03 0400 |00fe: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00c692: 0c04 |0101: move-result-object v4 │ │ -00c694: 7120 9a00 4300 |0102: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00c69a: 5473 ad00 |0105: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ -00c69e: 6e20 2b00 7300 |0107: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ -00c6a4: 5473 ae00 |010a: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c6a8: 7110 3502 0300 |010c: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c6ae: 2900 2fff |010f: goto/16 003e // -00d1 │ │ -00c6b2: 0d00 |0111: move-exception v0 │ │ -00c6b4: 1a03 b200 |0112: const-string v3, "ImportController" // string@00b2 │ │ -00c6b8: 1a04 9000 |0114: const-string v4, "Failed to unbind service" // string@0090 │ │ -00c6bc: 7130 9b00 4300 |0116: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ -00c6c2: 5473 ae00 |0119: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c6c6: 7110 3502 0300 |011b: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c6cc: 2900 20ff |011e: goto/16 003e // -00e0 │ │ -00c6d0: 0d03 |0120: move-exception v3 │ │ -00c6d2: 5474 ae00 |0121: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c6d6: 7110 3502 0400 |0123: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c6dc: 2703 |0126: throw v3 │ │ -00c6de: 0d00 |0127: move-exception v0 │ │ -00c6e0: 1a03 b200 |0128: const-string v3, "ImportController" // string@00b2 │ │ -00c6e4: 2204 f900 |012a: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ -00c6e8: 7010 5303 0400 |012c: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00c6ee: 1a05 8a00 |012f: const-string v5, "Failed to notify old app that import succeeded: " // string@008a │ │ -00c6f2: 6e20 5a03 5400 |0131: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00c6f8: 0c04 |0134: move-result-object v4 │ │ -00c6fa: 6e20 5903 0400 |0135: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00c700: 0c04 |0138: move-result-object v4 │ │ -00c702: 6e10 5b03 0400 |0139: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00c708: 0c04 |013c: move-result-object v4 │ │ -00c70a: 7120 9a00 4300 |013d: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00c710: 5473 ad00 |0140: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ -00c714: 6e20 2b00 7300 |0142: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ -00c71a: 5473 ae00 |0145: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c71e: 7110 3502 0300 |0147: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c724: 2900 f4fe |014a: goto/16 003e // -010c │ │ -00c728: 0d00 |014c: move-exception v0 │ │ -00c72a: 1a03 b200 |014d: const-string v3, "ImportController" // string@00b2 │ │ -00c72e: 1a04 9000 |014f: const-string v4, "Failed to unbind service" // string@0090 │ │ -00c732: 7130 9b00 4300 |0151: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ -00c738: 5473 ae00 |0154: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c73c: 7110 3502 0300 |0156: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c742: 2900 e5fe |0159: goto/16 003e // -011b │ │ -00c746: 0d03 |015b: move-exception v3 │ │ -00c748: 5474 ae00 |015c: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c74c: 7110 3502 0400 |015e: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c752: 2703 |0161: throw v3 │ │ -00c754: 1a03 b200 |0162: const-string v3, "ImportController" // string@00b2 │ │ -00c758: 1a04 3702 |0164: const-string v4, "Old app returned null data" // string@0237 │ │ -00c75c: 7120 9a00 4300 |0166: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00c762: 2900 cbfe |0169: goto/16 0034 // -0135 │ │ -00c766: 0d03 |016b: move-exception v3 │ │ -00c768: 5474 ad00 |016c: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ -00c76c: 6e20 2b00 7400 |016e: invoke-virtual {v4, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ -00c772: 5474 ae00 |0171: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c776: 7110 3502 0400 |0173: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c77c: 2703 |0176: throw v3 │ │ -00c77e: 0d00 |0177: move-exception v0 │ │ -00c780: 1a03 b200 |0178: const-string v3, "ImportController" // string@00b2 │ │ -00c784: 1a04 9000 |017a: const-string v4, "Failed to unbind service" // string@0090 │ │ -00c788: 7130 9b00 4300 |017c: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ -00c78e: 5473 ae00 |017f: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c792: 7110 3502 0300 |0181: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c798: 2900 bafe |0184: goto/16 003e // -0146 │ │ -00c79c: 0d03 |0186: move-exception v3 │ │ -00c79e: 5474 ae00 |0187: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c7a2: 7110 3502 0400 |0189: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c7a8: 2703 |018c: throw v3 │ │ -00c7aa: 0d00 |018d: move-exception v0 │ │ -00c7ac: 1a04 b200 |018e: const-string v4, "ImportController" // string@00b2 │ │ -00c7b0: 1a05 9000 |0190: const-string v5, "Failed to unbind service" // string@0090 │ │ -00c7b4: 7130 9b00 5400 |0192: invoke-static {v4, v5, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ -00c7ba: 5474 ae00 |0195: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c7be: 7110 3502 0400 |0197: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c7c4: 28dc |019a: goto 0176 // -0024 │ │ -00c7c6: 0d03 |019b: move-exception v3 │ │ -00c7c8: 5474 ae00 |019c: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ -00c7cc: 7110 3502 0400 |019e: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ -00c7d2: 2703 |01a1: throw v3 │ │ +00c354: |[00c354] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController$ExportServiceConnection.onServiceConnected:(Landroid/content/ComponentName;Landroid/os/IBinder;)V │ │ +00c364: 7110 2702 0900 |0000: invoke-static {v9}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;.asInterface:(Landroid/os/IBinder;)Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; // method@0227 │ │ +00c36a: 0c01 |0003: move-result-object v1 │ │ +00c36c: 7210 2c02 0100 |0004: invoke-interface {v1}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;.getData:()Landroid/os/Bundle; // method@022c │ │ +00c372: 0c02 |0007: move-result-object v2 │ │ +00c374: 3802 5a01 |0008: if-eqz v2, 0162 // +015a │ │ +00c378: 2203 a000 |000a: new-instance v3, Lcom/google/android/apps/authenticator/dataimport/Importer; // type@00a0 │ │ +00c37c: 7010 4402 0300 |000c: invoke-direct {v3}, Lcom/google/android/apps/authenticator/dataimport/Importer;.:()V // method@0244 │ │ +00c382: 7100 6402 0000 |000f: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ +00c388: 0c04 |0012: move-result-object v4 │ │ +00c38a: 7100 6802 0000 |0013: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00c390: 0c05 |0016: move-result-object v5 │ │ +00c392: 5476 ad00 |0017: iget-object v6, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ +00c396: 7220 c601 6500 |0019: invoke-interface {v5, v6}, Lcom/google/android/apps/authenticator/OptionalFeatures;.getSharedPreferencesForDataImportFromOldApp:(Landroid/content/Context;)Landroid/content/SharedPreferences; // method@01c6 │ │ +00c39c: 0c05 |001c: move-result-object v5 │ │ +00c39e: 6e40 4602 2354 |001d: invoke-virtual {v3, v2, v4, v5}, Lcom/google/android/apps/authenticator/dataimport/Importer;.importFromBundle:(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;Landroid/content/SharedPreferences;)V // method@0246 │ │ +00c3a4: 1a03 b200 |0020: const-string v3, "ImportController" // string@00b2 │ │ +00c3a8: 1a04 6f02 |0022: const-string v4, "Successfully imported data from the old app" // string@026f │ │ +00c3ac: 7120 9900 4300 |0024: invoke-static {v3, v4}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ +00c3b2: 5473 ae00 |0027: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c3b6: 7110 3302 0300 |0029: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$100:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0233 │ │ +00c3bc: 7210 2d02 0100 |002c: invoke-interface {v1}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;.onImportSucceeded:()V // method@022d │ │ +00c3c2: 5473 ae00 |002f: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c3c6: 7110 3402 0300 |0031: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$200:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0234 │ │ +00c3cc: 5473 ad00 |0034: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ +00c3d0: 6e20 2b00 7300 |0036: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ +00c3d6: 5473 ae00 |0039: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c3da: 7110 3502 0300 |003b: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c3e0: 0e00 |003e: return-void │ │ +00c3e2: 0d00 |003f: move-exception v0 │ │ +00c3e4: 1a03 b200 |0040: const-string v3, "ImportController" // string@00b2 │ │ +00c3e8: 2204 f900 |0042: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c3ec: 7010 5303 0400 |0044: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c3f2: 1a05 8c00 |0047: const-string v5, "Failed to obtain export interface: " // string@008c │ │ +00c3f6: 6e20 5a03 5400 |0049: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c3fc: 0c04 |004c: move-result-object v4 │ │ +00c3fe: 6e20 5903 0400 |004d: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00c404: 0c04 |0050: move-result-object v4 │ │ +00c406: 6e10 5b03 0400 |0051: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c40c: 0c04 |0054: move-result-object v4 │ │ +00c40e: 7120 9a00 4300 |0055: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00c414: 5473 ad00 |0058: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ +00c418: 6e20 2b00 7300 |005a: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ +00c41e: 5473 ae00 |005d: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c422: 7110 3502 0300 |005f: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c428: 28dc |0062: goto 003e // -0024 │ │ +00c42a: 0d00 |0063: move-exception v0 │ │ +00c42c: 1a03 b200 |0064: const-string v3, "ImportController" // string@00b2 │ │ +00c430: 1a04 9000 |0066: const-string v4, "Failed to unbind service" // string@0090 │ │ +00c434: 7130 9b00 4300 |0068: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ +00c43a: 5473 ae00 |006b: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c43e: 7110 3502 0300 |006d: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c444: 28ce |0070: goto 003e // -0032 │ │ +00c446: 0d03 |0071: move-exception v3 │ │ +00c448: 5474 ae00 |0072: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c44c: 7110 3502 0400 |0074: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c452: 2703 |0077: throw v3 │ │ +00c454: 0d00 |0078: move-exception v0 │ │ +00c456: 1a03 b200 |0079: const-string v3, "ImportController" // string@00b2 │ │ +00c45a: 2204 f900 |007b: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c45e: 7010 5303 0400 |007d: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c464: 1a05 8b00 |0080: const-string v5, "Failed to obtain data: " // string@008b │ │ +00c468: 6e20 5a03 5400 |0082: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c46e: 0c04 |0085: move-result-object v4 │ │ +00c470: 6e20 5903 0400 |0086: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00c476: 0c04 |0089: move-result-object v4 │ │ +00c478: 6e10 5b03 0400 |008a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c47e: 0c04 |008d: move-result-object v4 │ │ +00c480: 7120 9a00 4300 |008e: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00c486: 5473 ad00 |0091: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ +00c48a: 6e20 2b00 7300 |0093: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ +00c490: 5473 ae00 |0096: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c494: 7110 3502 0300 |0098: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c49a: 28a3 |009b: goto 003e // -005d │ │ +00c49c: 0d00 |009c: move-exception v0 │ │ +00c49e: 1a03 b200 |009d: const-string v3, "ImportController" // string@00b2 │ │ +00c4a2: 1a04 9000 |009f: const-string v4, "Failed to unbind service" // string@0090 │ │ +00c4a6: 7130 9b00 4300 |00a1: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ +00c4ac: 5473 ae00 |00a4: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c4b0: 7110 3502 0300 |00a6: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c4b6: 2895 |00a9: goto 003e // -006b │ │ +00c4b8: 0d03 |00aa: move-exception v3 │ │ +00c4ba: 5474 ae00 |00ab: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c4be: 7110 3502 0400 |00ad: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c4c4: 2703 |00b0: throw v3 │ │ +00c4c6: 0d00 |00b1: move-exception v0 │ │ +00c4c8: 1a03 b200 |00b2: const-string v3, "ImportController" // string@00b2 │ │ +00c4cc: 2204 f900 |00b4: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c4d0: 7010 5303 0400 |00b6: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c4d6: 1a05 8b00 |00b9: const-string v5, "Failed to obtain data: " // string@008b │ │ +00c4da: 6e20 5a03 5400 |00bb: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c4e0: 0c04 |00be: move-result-object v4 │ │ +00c4e2: 6e20 5903 0400 |00bf: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00c4e8: 0c04 |00c2: move-result-object v4 │ │ +00c4ea: 6e10 5b03 0400 |00c3: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c4f0: 0c04 |00c6: move-result-object v4 │ │ +00c4f2: 7120 9a00 4300 |00c7: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00c4f8: 5473 ad00 |00ca: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ +00c4fc: 6e20 2b00 7300 |00cc: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ +00c502: 5473 ae00 |00cf: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c506: 7110 3502 0300 |00d1: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c50c: 2900 6aff |00d4: goto/16 003e // -0096 │ │ +00c510: 0d00 |00d6: move-exception v0 │ │ +00c512: 1a03 b200 |00d7: const-string v3, "ImportController" // string@00b2 │ │ +00c516: 1a04 9000 |00d9: const-string v4, "Failed to unbind service" // string@0090 │ │ +00c51a: 7130 9b00 4300 |00db: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ +00c520: 5473 ae00 |00de: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c524: 7110 3502 0300 |00e0: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c52a: 2900 5bff |00e3: goto/16 003e // -00a5 │ │ +00c52e: 0d03 |00e5: move-exception v3 │ │ +00c530: 5474 ae00 |00e6: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c534: 7110 3502 0400 |00e8: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c53a: 2703 |00eb: throw v3 │ │ +00c53c: 0d00 |00ec: move-exception v0 │ │ +00c53e: 1a03 b200 |00ed: const-string v3, "ImportController" // string@00b2 │ │ +00c542: 2204 f900 |00ef: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c546: 7010 5303 0400 |00f1: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c54c: 1a05 8a00 |00f4: const-string v5, "Failed to notify old app that import succeeded: " // string@008a │ │ +00c550: 6e20 5a03 5400 |00f6: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c556: 0c04 |00f9: move-result-object v4 │ │ +00c558: 6e20 5903 0400 |00fa: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00c55e: 0c04 |00fd: move-result-object v4 │ │ +00c560: 6e10 5b03 0400 |00fe: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c566: 0c04 |0101: move-result-object v4 │ │ +00c568: 7120 9a00 4300 |0102: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00c56e: 5473 ad00 |0105: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ +00c572: 6e20 2b00 7300 |0107: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ +00c578: 5473 ae00 |010a: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c57c: 7110 3502 0300 |010c: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c582: 2900 2fff |010f: goto/16 003e // -00d1 │ │ +00c586: 0d00 |0111: move-exception v0 │ │ +00c588: 1a03 b200 |0112: const-string v3, "ImportController" // string@00b2 │ │ +00c58c: 1a04 9000 |0114: const-string v4, "Failed to unbind service" // string@0090 │ │ +00c590: 7130 9b00 4300 |0116: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ +00c596: 5473 ae00 |0119: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c59a: 7110 3502 0300 |011b: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c5a0: 2900 20ff |011e: goto/16 003e // -00e0 │ │ +00c5a4: 0d03 |0120: move-exception v3 │ │ +00c5a6: 5474 ae00 |0121: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c5aa: 7110 3502 0400 |0123: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c5b0: 2703 |0126: throw v3 │ │ +00c5b2: 0d00 |0127: move-exception v0 │ │ +00c5b4: 1a03 b200 |0128: const-string v3, "ImportController" // string@00b2 │ │ +00c5b8: 2204 f900 |012a: new-instance v4, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c5bc: 7010 5303 0400 |012c: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c5c2: 1a05 8a00 |012f: const-string v5, "Failed to notify old app that import succeeded: " // string@008a │ │ +00c5c6: 6e20 5a03 5400 |0131: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c5cc: 0c04 |0134: move-result-object v4 │ │ +00c5ce: 6e20 5903 0400 |0135: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00c5d4: 0c04 |0138: move-result-object v4 │ │ +00c5d6: 6e10 5b03 0400 |0139: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c5dc: 0c04 |013c: move-result-object v4 │ │ +00c5de: 7120 9a00 4300 |013d: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00c5e4: 5473 ad00 |0140: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ +00c5e8: 6e20 2b00 7300 |0142: invoke-virtual {v3, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ +00c5ee: 5473 ae00 |0145: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c5f2: 7110 3502 0300 |0147: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c5f8: 2900 f4fe |014a: goto/16 003e // -010c │ │ +00c5fc: 0d00 |014c: move-exception v0 │ │ +00c5fe: 1a03 b200 |014d: const-string v3, "ImportController" // string@00b2 │ │ +00c602: 1a04 9000 |014f: const-string v4, "Failed to unbind service" // string@0090 │ │ +00c606: 7130 9b00 4300 |0151: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ +00c60c: 5473 ae00 |0154: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c610: 7110 3502 0300 |0156: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c616: 2900 e5fe |0159: goto/16 003e // -011b │ │ +00c61a: 0d03 |015b: move-exception v3 │ │ +00c61c: 5474 ae00 |015c: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c620: 7110 3502 0400 |015e: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c626: 2703 |0161: throw v3 │ │ +00c628: 1a03 b200 |0162: const-string v3, "ImportController" // string@00b2 │ │ +00c62c: 1a04 3402 |0164: const-string v4, "Old app returned null data" // string@0234 │ │ +00c630: 7120 9a00 4300 |0166: invoke-static {v3, v4}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00c636: 2900 cbfe |0169: goto/16 0034 // -0135 │ │ +00c63a: 0d03 |016b: move-exception v3 │ │ +00c63c: 5474 ad00 |016c: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mContext:Landroid/content/Context; // field@00ad │ │ +00c640: 6e20 2b00 7400 |016e: invoke-virtual {v4, v7}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ +00c646: 5474 ae00 |0171: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c64a: 7110 3502 0400 |0173: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c650: 2703 |0176: throw v3 │ │ +00c652: 0d00 |0177: move-exception v0 │ │ +00c654: 1a03 b200 |0178: const-string v3, "ImportController" // string@00b2 │ │ +00c658: 1a04 9000 |017a: const-string v4, "Failed to unbind service" // string@0090 │ │ +00c65c: 7130 9b00 4300 |017c: invoke-static {v3, v4, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ +00c662: 5473 ae00 |017f: iget-object v3, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c666: 7110 3502 0300 |0181: invoke-static {v3}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c66c: 2900 bafe |0184: goto/16 003e // -0146 │ │ +00c670: 0d03 |0186: move-exception v3 │ │ +00c672: 5474 ae00 |0187: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c676: 7110 3502 0400 |0189: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c67c: 2703 |018c: throw v3 │ │ +00c67e: 0d00 |018d: move-exception v0 │ │ +00c680: 1a04 b200 |018e: const-string v4, "ImportController" // string@00b2 │ │ +00c684: 1a05 9000 |0190: const-string v5, "Failed to unbind service" // string@0090 │ │ +00c688: 7130 9b00 5400 |0192: invoke-static {v4, v5, v0}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@009b │ │ +00c68e: 5474 ae00 |0195: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c692: 7110 3502 0400 |0197: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c698: 28dc |019a: goto 0176 // -0024 │ │ +00c69a: 0d03 |019b: move-exception v3 │ │ +00c69c: 5474 ae00 |019c: iget-object v4, v7, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.mListener:Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; // field@00ae │ │ +00c6a0: 7110 3502 0400 |019e: invoke-static {v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0235 │ │ +00c6a6: 2703 |01a1: throw v3 │ │ catches : 25 │ │ 0x0000 - 0x0003 │ │ Ljava/lang/SecurityException; -> 0x003f │ │ -> 0x016b │ │ 0x0004 - 0x0007 │ │ Ljava/lang/SecurityException; -> 0x0078 │ │ Landroid/os/RemoteException; -> 0x00b1 │ │ @@ -13648,14 +8092,18 @@ │ │ 0x018e - 0x0195 │ │ -> 0x019b │ │ positions : │ │ 0x0000 line=86 │ │ 0x0004 line=94 │ │ 0x0008 line=103 │ │ 0x000a line=104 │ │ + 0x000f line=106 │ │ + 0x0013 line=107 │ │ + 0x0019 line=108 │ │ + 0x001d line=104 │ │ 0x0020 line=109 │ │ 0x0027 line=110 │ │ 0x002c line=112 │ │ 0x002f line=120 │ │ 0x0034 line=129 │ │ 0x0039 line=133 │ │ 0x003e line=136 │ │ @@ -13732,389 +8180,143 @@ │ │ type : '(Landroid/content/ComponentName;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -00c8fc: |[00c8fc] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController$ExportServiceConnection.onServiceDisconnected:(Landroid/content/ComponentName;)V │ │ -00c90c: 0e00 |0000: return-void │ │ +00c7d0: |[00c7d0] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController$ExportServiceConnection.onServiceDisconnected:(Landroid/content/ComponentName;)V │ │ +00c7e0: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=139 │ │ locals : │ │ 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection; │ │ 0x0000 - 0x0001 reg=1 name Landroid/content/ComponentName; │ │ │ │ source_file_idx : 128 (ExportServiceBasedImportController.java) │ │ │ │ -Class #65 header: │ │ -class_idx : 157 │ │ +Class #47 header: │ │ +class_idx : 156 │ │ access_flags : 1537 (0x0601) │ │ superclass_idx : 243 │ │ source_file_idx : 179 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 0 │ │ -virtual_methods_size: 1 │ │ +virtual_methods_size: 3 │ │ │ │ -Class #65 annotations: │ │ +Class #47 annotations: │ │ Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; } │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataimport/ImportController; │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1545 name="Listener" │ │ │ │ -Class #65 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/ImportController;' │ │ +Class #47 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;' │ │ Access flags : 0x0601 (PUBLIC INTERFACE ABSTRACT) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataimport/ImportController;) │ │ - name : 'start' │ │ - type : '(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;) │ │ + name : 'onDataImported' │ │ + type : '()V' │ │ + access : 0x0401 (PUBLIC ABSTRACT) │ │ + code : (none) │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;) │ │ + name : 'onFinished' │ │ + type : '()V' │ │ + access : 0x0401 (PUBLIC ABSTRACT) │ │ + code : (none) │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;) │ │ + name : 'onOldAppUninstallSuggested' │ │ + type : '(Landroid/content/Intent;)V' │ │ access : 0x0401 (PUBLIC ABSTRACT) │ │ code : (none) │ │ │ │ source_file_idx : 179 (ImportController.java) │ │ │ │ -Class #66 header: │ │ -class_idx : 155 │ │ -access_flags : 1 (0x0001) │ │ +Class #48 header: │ │ +class_idx : 157 │ │ +access_flags : 1537 (0x0601) │ │ superclass_idx : 243 │ │ -source_file_idx : 128 │ │ -static_fields_size : 3 │ │ +source_file_idx : 179 │ │ +static_fields_size : 0 │ │ instance_fields_size: 0 │ │ -direct_methods_size : 8 │ │ +direct_methods_size : 0 │ │ virtual_methods_size: 1 │ │ │ │ -Class #66 annotations: │ │ +Class #48 annotations: │ │ Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1; Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection; } │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; } │ │ │ │ -Class #66 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ +Class #48 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/ImportController;' │ │ + Access flags : 0x0601 (PUBLIC INTERFACE ABSTRACT) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/dataimport/ImportController;' │ │ Static fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'LOG_TAG' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "ImportController" │ │ - #1 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'OLD_APP_EXPORT_SERVICE_CLASS_NAME' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "com.google.android.apps.authenticator.dataexport.ExportServiceV2" │ │ - #2 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'OLD_APP_PACKAGE_NAME' │ │ - type : 'Ljava/lang/String;' │ │ - access : 0x001a (PRIVATE STATIC FINAL) │ │ - value : "com.google.android.apps.authenticator" │ │ Instance fields - │ │ Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00c910: |[00c910] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.:()V │ │ -00c920: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00c926: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=45 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'access$100' │ │ - type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00c928: |[00c928] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.access$100:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ -00c938: 7110 3702 0000 |0000: invoke-static {v0}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerDataImported:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0237 │ │ -00c93e: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=37 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'access$200' │ │ - type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00c940: |[00c940] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.access$200:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ -00c950: 7110 3902 0000 |0000: invoke-static {v0}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerUninstallOldAppSuggested:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0239 │ │ -00c956: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=37 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'access$300' │ │ - type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00c958: |[00c958] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ -00c968: 7110 3802 0000 |0000: invoke-static {v0}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerFinished:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0238 │ │ -00c96e: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=37 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ - │ │ - #4 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'getOldAppVersionCode' │ │ - type : '()I' │ │ - access : 0x000a (PRIVATE STATIC) │ │ - code - │ │ - registers : 5 │ │ - ins : 0 │ │ - outs : 3 │ │ - insns size : 17 16-bit code units │ │ -00c970: |[00c970] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.getOldAppVersionCode:()I │ │ -00c980: 7100 6a02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getPackageManager:()Landroid/content/pm/PackageManager; // method@026a │ │ -00c986: 0c02 |0003: move-result-object v2 │ │ -00c988: 1a03 7d03 |0004: const-string v3, "com.google.android.apps.authenticator" // string@037d │ │ -00c98c: 1204 |0006: const/4 v4, #int 0 // #0 │ │ -00c98e: 6e30 4700 3204 |0007: invoke-virtual {v2, v3, v4}, Landroid/content/pm/PackageManager;.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo; // method@0047 │ │ -00c994: 0c01 |000a: move-result-object v1 │ │ -00c996: 5212 0100 |000b: iget v2, v1, Landroid/content/pm/PackageInfo;.versionCode:I // field@0001 │ │ -00c99a: 0f02 |000d: return v2 │ │ -00c99c: 0d00 |000e: move-exception v0 │ │ -00c99e: 12f2 |000f: const/4 v2, #int -1 // #ff │ │ -00c9a0: 28fd |0010: goto 000d // -0003 │ │ - catches : 1 │ │ - 0x0000 - 0x000d │ │ - Landroid/content/pm/PackageManager$NameNotFoundException; -> 0x000e │ │ - positions : │ │ - 0x0000 line=149 │ │ - 0x000b line=151 │ │ - 0x000d line=153 │ │ - 0x000e line=152 │ │ - 0x000f line=153 │ │ - locals : │ │ - 0x000f - 0x0011 reg=0 e Landroid/content/pm/PackageManager$NameNotFoundException; │ │ - 0x000b - 0x0011 reg=1 oldAppPackageInfo Landroid/content/pm/PackageInfo; │ │ - │ │ - #5 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'notifyListenerDataImported' │ │ - type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ - access : 0x000a (PRIVATE STATIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 6 16-bit code units │ │ -00c9b0: |[00c9b0] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.notifyListenerDataImported:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ -00c9c0: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ -00c9c4: 7210 3b02 0000 |0002: invoke-interface {v0}, Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;.onDataImported:()V // method@023b │ │ -00c9ca: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=158 │ │ - 0x0002 line=159 │ │ - 0x0005 line=161 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=0 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ - │ │ - #6 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'notifyListenerFinished' │ │ - type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ - access : 0x000a (PRIVATE STATIC) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 6 16-bit code units │ │ -00c9cc: |[00c9cc] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.notifyListenerFinished:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ -00c9dc: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ -00c9e0: 7210 3c02 0000 |0002: invoke-interface {v0}, Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;.onFinished:()V // method@023c │ │ -00c9e6: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=171 │ │ - 0x0002 line=172 │ │ - 0x0005 line=174 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=0 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ - │ │ - #7 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ - name : 'notifyListenerUninstallOldAppSuggested' │ │ - type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ - access : 0x000a (PRIVATE STATIC) │ │ - code - │ │ - registers : 4 │ │ - ins : 1 │ │ - outs : 3 │ │ - insns size : 19 16-bit code units │ │ -00c9e8: |[00c9e8] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.notifyListenerUninstallOldAppSuggested:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ -00c9f8: 3803 1200 |0000: if-eqz v3, 0012 // +0012 │ │ -00c9fc: 2200 1700 |0002: new-instance v0, Landroid/content/Intent; // type@0017 │ │ -00ca00: 1a01 1803 |0004: const-string v1, "android.intent.action.DELETE" // string@0318 │ │ -00ca04: 1a02 9c05 |0006: const-string v2, "package:com.google.android.apps.authenticator" // string@059c │ │ -00ca08: 7110 6c00 0200 |0008: invoke-static {v2}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006c │ │ -00ca0e: 0c02 |000b: move-result-object v2 │ │ -00ca10: 7030 3100 1002 |000c: invoke-direct {v0, v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0031 │ │ -00ca16: 7220 3d02 0300 |000f: invoke-interface {v3, v0}, Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;.onOldAppUninstallSuggested:(Landroid/content/Intent;)V // method@023d │ │ -00ca1c: 0e00 |0012: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=164 │ │ - 0x0002 line=165 │ │ - 0x0012 line=168 │ │ - locals : │ │ - 0x0000 - 0x0013 reg=3 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ - │ │ Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataimport/ImportController;) │ │ name : 'start' │ │ type : '(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 10 │ │ - ins : 3 │ │ - outs : 5 │ │ - insns size : 85 16-bit code units │ │ -00ca20: |[00ca20] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.start:(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ -00ca30: 7100 3602 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.getOldAppVersionCode:()I // method@0236 │ │ -00ca36: 0a02 |0003: move-result v2 │ │ -00ca38: 12f4 |0004: const/4 v4, #int -1 // #ff │ │ -00ca3a: 3342 0d00 |0005: if-ne v2, v4, 0012 // +000d │ │ -00ca3e: 1a04 b200 |0007: const-string v4, "ImportController" // string@00b2 │ │ -00ca42: 1a05 6c02 |0009: const-string v5, "Skipping importing because the old app is not installed" // string@026c │ │ -00ca46: 7120 9700 5400 |000b: invoke-static {v4, v5}, Landroid/util/Log;.d:(Ljava/lang/String;Ljava/lang/String;)I // method@0097 │ │ -00ca4c: 7110 3802 0900 |000e: invoke-static {v9}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerFinished:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0238 │ │ -00ca52: 0e00 |0011: return-void │ │ -00ca54: 2201 1700 |0012: new-instance v1, Landroid/content/Intent; // type@0017 │ │ -00ca58: 7010 2e00 0100 |0014: invoke-direct {v1}, Landroid/content/Intent;.:()V // method@002e │ │ -00ca5e: 2204 0f00 |0017: new-instance v4, Landroid/content/ComponentName; // type@000f │ │ -00ca62: 1a05 7d03 |0019: const-string v5, "com.google.android.apps.authenticator" // string@037d │ │ -00ca66: 1a06 7e03 |001b: const-string v6, "com.google.android.apps.authenticator.dataexport.ExportServiceV2" // string@037e │ │ -00ca6a: 7030 1d00 5406 |001d: invoke-direct {v4, v5, v6}, Landroid/content/ComponentName;.:(Ljava/lang/String;Ljava/lang/String;)V // method@001d │ │ -00ca70: 6e20 3c00 4100 |0020: invoke-virtual {v1, v4}, Landroid/content/Intent;.setComponent:(Landroid/content/ComponentName;)Landroid/content/Intent; // method@003c │ │ -00ca76: 2203 9a00 |0023: new-instance v3, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection; // type@009a │ │ -00ca7a: 1204 |0025: const/4 v4, #int 0 // #0 │ │ -00ca7c: 7054 2f02 7398 |0026: invoke-direct {v3, v7, v8, v9, v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.:(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1;)V // method@022f │ │ -00ca82: 1214 |0029: const/4 v4, #int 1 // #1 │ │ -00ca84: 6e40 2100 1843 |002a: invoke-virtual {v8, v1, v3, v4}, Landroid/content/Context;.bindService:(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z // method@0021 │ │ -00ca8a: 0a00 |002d: move-result v0 │ │ -00ca8c: 3900 e3ff |002e: if-nez v0, 0011 // -001d │ │ -00ca90: 1a04 b200 |0030: const-string v4, "ImportController" // string@00b2 │ │ -00ca94: 2205 f900 |0032: new-instance v5, Ljava/lang/StringBuilder; // type@00f9 │ │ -00ca98: 7010 5303 0500 |0034: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00ca9e: 1a06 3102 |0037: const-string v6, "Not importing because the old app is too old (" // string@0231 │ │ -00caa2: 6e20 5a03 6500 |0039: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00caa8: 0c05 |003c: move-result-object v5 │ │ -00caaa: 6e20 5703 2500 |003d: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ -00cab0: 0c05 |0040: move-result-object v5 │ │ -00cab2: 1a06 1400 |0041: const-string v6, ") and can't export" // string@0014 │ │ -00cab6: 6e20 5a03 6500 |0043: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cabc: 0c05 |0046: move-result-object v5 │ │ -00cabe: 6e10 5b03 0500 |0047: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00cac4: 0c05 |004a: move-result-object v5 │ │ -00cac6: 7120 9900 5400 |004b: invoke-static {v4, v5}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ -00cacc: 6e20 2b00 3800 |004e: invoke-virtual {v8, v3}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ -00cad2: 7110 3802 0900 |0051: invoke-static {v9}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerFinished:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0238 │ │ -00cad8: 28bd |0054: goto 0011 // -0043 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=49 │ │ - 0x0004 line=50 │ │ - 0x0007 line=51 │ │ - 0x000e line=52 │ │ - 0x0011 line=70 │ │ - 0x0012 line=56 │ │ - 0x0017 line=57 │ │ - 0x0023 line=58 │ │ - 0x0029 line=59 │ │ - 0x002e line=60 │ │ - 0x0030 line=61 │ │ - 0x004e line=63 │ │ - 0x0051 line=64 │ │ - locals : │ │ - 0x002e - 0x0055 reg=0 bound Z │ │ - 0x0017 - 0x0055 reg=1 intent Landroid/content/Intent; │ │ - 0x0004 - 0x0055 reg=2 oldAppVersionCode I │ │ - 0x0029 - 0x0055 reg=3 serviceConnection Landroid/content/ServiceConnection; │ │ - 0x0000 - 0x0055 reg=7 this Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; │ │ - 0x0000 - 0x0055 reg=8 context Landroid/content/Context; │ │ - 0x0000 - 0x0055 reg=9 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ + access : 0x0401 (PUBLIC ABSTRACT) │ │ + code : (none) │ │ │ │ - source_file_idx : 128 (ExportServiceBasedImportController.java) │ │ + source_file_idx : 179 (ImportController.java) │ │ │ │ -Class #67 header: │ │ +Class #49 header: │ │ class_idx : 158 │ │ access_flags : 4096 (0x1000) │ │ superclass_idx : 243 │ │ source_file_idx : 181 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 0 │ │ virtual_methods_size: 0 │ │ │ │ -Class #67 annotations: │ │ +Class #49 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataimport/Importer; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=4104 name=null │ │ │ │ -Class #67 - │ │ +Class #49 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/Importer$1;' │ │ Access flags : 0x1000 (SYNTHETIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ Virtual methods - │ │ source_file_idx : 181 (Importer.java) │ │ │ │ -Class #68 header: │ │ +Class #50 header: │ │ class_idx : 159 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ source_file_idx : 181 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 2 │ │ virtual_methods_size: 2 │ │ │ │ -Class #68 annotations: │ │ +Class #50 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataimport/Importer; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=10 name="IntegerStringComparator" │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/Object;" "Ljava/util/Comparator" "<" "Ljava/lang/String;" ">;" } │ │ │ │ -Class #68 - │ │ +Class #50 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Ljava/util/Comparator;' │ │ Static fields - │ │ Instance fields - │ │ @@ -14124,17 +8326,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00cadc: |[00cadc] com.google.android.apps.authenticator.dataimport.Importer$IntegerStringComparator.:()V │ │ -00caec: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00caf2: 0e00 |0003: return-void │ │ +00c7e4: |[00c7e4] com.google.android.apps.authenticator.dataimport.Importer$IntegerStringComparator.:()V │ │ +00c7f4: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00c7fa: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=134 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;) │ │ @@ -14142,17 +8344,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/dataimport/Importer$1;)V' │ │ access : 0x11000 (SYNTHETIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00caf4: |[00caf4] com.google.android.apps.authenticator.dataimport.Importer$IntegerStringComparator.:(Lcom/google/android/apps/authenticator/dataimport/Importer$1;)V │ │ -00cb04: 7010 3f02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;.:()V // method@023f │ │ -00cb0a: 0e00 |0003: return-void │ │ +00c7fc: |[00c7fc] com.google.android.apps.authenticator.dataimport.Importer$IntegerStringComparator.:(Lcom/google/android/apps/authenticator/dataimport/Importer$1;)V │ │ +00c80c: 7010 3f02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;.:()V // method@023f │ │ +00c812: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=134 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; │ │ 0x0000 - 0x0004 reg=1 x0 Lcom/google/android/apps/authenticator/dataimport/Importer$1; │ │ │ │ @@ -14162,73 +8364,73 @@ │ │ type : '(Ljava/lang/Object;Ljava/lang/Object;)I' │ │ access : 0x1041 (PUBLIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -00cb0c: |[00cb0c] com.google.android.apps.authenticator.dataimport.Importer$IntegerStringComparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I │ │ -00cb1c: 1f02 f800 |0000: check-cast v2, Ljava/lang/String; // type@00f8 │ │ -00cb20: 1f03 f800 |0002: check-cast v3, Ljava/lang/String; // type@00f8 │ │ -00cb24: 6e30 4202 2103 |0004: invoke-virtual {v1, v2, v3}, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;.compare:(Ljava/lang/String;Ljava/lang/String;)I // method@0242 │ │ -00cb2a: 0a00 |0007: move-result v0 │ │ -00cb2c: 0f00 |0008: return v0 │ │ +00c814: |[00c814] com.google.android.apps.authenticator.dataimport.Importer$IntegerStringComparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I │ │ +00c824: 1f02 f800 |0000: check-cast v2, Ljava/lang/String; // type@00f8 │ │ +00c828: 1f03 f800 |0002: check-cast v3, Ljava/lang/String; // type@00f8 │ │ +00c82c: 6e30 4202 2103 |0004: invoke-virtual {v1, v2, v3}, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;.compare:(Ljava/lang/String;Ljava/lang/String;)I // method@0242 │ │ +00c832: 0a00 |0007: move-result v0 │ │ +00c834: 0f00 |0008: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=134 │ │ locals : │ │ - 0x0000 - 0x0002 reg=2 x0 Ljava/lang/Object; │ │ - 0x0000 - 0x0004 reg=3 x1 Ljava/lang/Object; │ │ 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; │ │ + 0x0000 - 0x0009 reg=2 (null) Ljava/lang/Object; │ │ + 0x0000 - 0x0009 reg=3 (null) Ljava/lang/Object; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;) │ │ name : 'compare' │ │ type : '(Ljava/lang/String;Ljava/lang/String;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -00cb30: |[00cb30] com.google.android.apps.authenticator.dataimport.Importer$IntegerStringComparator.compare:(Ljava/lang/String;Ljava/lang/String;)I │ │ -00cb40: 7110 2e03 0400 |0000: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@032e │ │ -00cb46: 0a00 |0003: move-result v0 │ │ -00cb48: 7110 2e03 0500 |0004: invoke-static {v5}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@032e │ │ -00cb4e: 0a01 |0007: move-result v1 │ │ -00cb50: 9102 0001 |0008: sub-int v2, v0, v1 │ │ -00cb54: 0f02 |000a: return v2 │ │ +00c838: |[00c838] com.google.android.apps.authenticator.dataimport.Importer$IntegerStringComparator.compare:(Ljava/lang/String;Ljava/lang/String;)I │ │ +00c848: 7110 2e03 0400 |0000: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@032e │ │ +00c84e: 0a00 |0003: move-result v0 │ │ +00c850: 7110 2e03 0500 |0004: invoke-static {v5}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@032e │ │ +00c856: 0a01 |0007: move-result v1 │ │ +00c858: 9102 0001 |0008: sub-int v2, v0, v1 │ │ +00c85c: 0f02 |000a: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=137 │ │ 0x0004 line=138 │ │ 0x0008 line=139 │ │ locals : │ │ 0x0004 - 0x000b reg=0 lhsValue I │ │ 0x0008 - 0x000b reg=1 rhsValue I │ │ 0x0000 - 0x000b reg=3 this Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; │ │ 0x0000 - 0x000b reg=4 lhs Ljava/lang/String; │ │ 0x0000 - 0x000b reg=5 rhs Ljava/lang/String; │ │ │ │ source_file_idx : 181 (Importer.java) │ │ │ │ -Class #69 header: │ │ +Class #51 header: │ │ class_idx : 160 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ source_file_idx : 181 │ │ static_fields_size : 7 │ │ instance_fields_size: 0 │ │ direct_methods_size : 5 │ │ virtual_methods_size: 1 │ │ │ │ -Class #69 annotations: │ │ +Class #51 annotations: │ │ Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/dataimport/Importer$1; Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; } │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; } │ │ │ │ -Class #69 - │ │ +Class #51 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/Importer;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/dataimport/Importer;) │ │ name : 'KEY_ACCOUNTS' │ │ @@ -14271,213 +8473,212 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00cb58: |[00cb58] com.google.android.apps.authenticator.dataimport.Importer.:()V │ │ -00cb68: 1c00 a000 |0000: const-class v0, Lcom/google/android/apps/authenticator/dataimport/Importer; // type@00a0 │ │ -00cb6c: 6e10 1b03 0000 |0002: invoke-virtual {v0}, Ljava/lang/Class;.getSimpleName:()Ljava/lang/String; // method@031b │ │ -00cb72: 0c00 |0005: move-result-object v0 │ │ -00cb74: 6900 b900 |0006: sput-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ -00cb78: 0e00 |0008: return-void │ │ +00c860: |[00c860] com.google.android.apps.authenticator.dataimport.Importer.:()V │ │ +00c870: 1c00 a000 |0000: const-class v0, Lcom/google/android/apps/authenticator/dataimport/Importer; // type@00a0 │ │ +00c874: 6e10 1b03 0000 |0002: invoke-virtual {v0}, Ljava/lang/Class;.getSimpleName:()Ljava/lang/String; // method@031b │ │ +00c87a: 0c00 |0005: move-result-object v0 │ │ +00c87c: 6900 b900 |0006: sput-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ +00c880: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/dataimport/Importer;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00cb7c: |[00cb7c] com.google.android.apps.authenticator.dataimport.Importer.:()V │ │ -00cb8c: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00cb92: 0e00 |0003: return-void │ │ +00c884: |[00c884] com.google.android.apps.authenticator.dataimport.Importer.:()V │ │ +00c894: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00c89a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=36 │ │ - 0x0003 line=134 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/dataimport/Importer; │ │ │ │ #2 : (in Lcom/google/android/apps/authenticator/dataimport/Importer;) │ │ name : 'importAccountDbFromBundle' │ │ type : '(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 16 │ │ ins : 3 │ │ outs : 6 │ │ insns size : 324 16-bit code units │ │ -00cb94: |[00cb94] com.google.android.apps.authenticator.dataimport.Importer.importAccountDbFromBundle:(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;)V │ │ -00cba4: 220a 0b01 |0000: new-instance v10, Ljava/util/ArrayList; // type@010b │ │ -00cba8: 6e10 7600 0e00 |0002: invoke-virtual {v14}, Landroid/os/Bundle;.keySet:()Ljava/util/Set; // method@0076 │ │ -00cbae: 0c00 |0005: move-result-object v0 │ │ -00cbb0: 7020 6803 0a00 |0006: invoke-direct {v10, v0}, Ljava/util/ArrayList;.:(Ljava/util/Collection;)V // method@0368 │ │ -00cbb6: 2200 9f00 |0009: new-instance v0, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; // type@009f │ │ -00cbba: 1203 |000b: const/4 v3, #int 0 // #0 │ │ -00cbbc: 7020 4002 3000 |000c: invoke-direct {v0, v3}, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;.:(Lcom/google/android/apps/authenticator/dataimport/Importer$1;)V // method@0240 │ │ -00cbc2: 7120 6d03 0a00 |000f: invoke-static {v10, v0}, Ljava/util/Collections;.sort:(Ljava/util/List;Ljava/util/Comparator;)V // method@036d │ │ -00cbc8: 1209 |0012: const/4 v9, #int 0 // #0 │ │ -00cbca: 7210 7603 0a00 |0013: invoke-interface {v10}, Ljava/util/List;.iterator:()Ljava/util/Iterator; // method@0376 │ │ -00cbd0: 0c08 |0016: move-result-object v8 │ │ -00cbd2: 7210 7303 0800 |0017: invoke-interface {v8}, Ljava/util/Iterator;.hasNext:()Z // method@0373 │ │ -00cbd8: 0a00 |001a: move-result v0 │ │ -00cbda: 3800 0a01 |001b: if-eqz v0, 0125 // +010a │ │ -00cbde: 7210 7403 0800 |001d: invoke-interface {v8}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@0374 │ │ -00cbe4: 0c07 |0020: move-result-object v7 │ │ -00cbe6: 1f07 f800 |0021: check-cast v7, Ljava/lang/String; // type@00f8 │ │ -00cbea: 6e20 7100 7e00 |0023: invoke-virtual {v14, v7}, Landroid/os/Bundle;.getBundle:(Ljava/lang/String;)Landroid/os/Bundle; // method@0071 │ │ -00cbf0: 0c06 |0026: move-result-object v6 │ │ -00cbf2: 1a00 3c05 |0027: const-string v0, "name" // string@053c │ │ -00cbf6: 6e20 7500 0600 |0029: invoke-virtual {v6, v0}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0075 │ │ -00cbfc: 0c01 |002c: move-result-object v1 │ │ -00cbfe: 3901 2100 |002d: if-nez v1, 004e // +0021 │ │ -00cc02: 6200 b900 |002f: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ -00cc06: 2203 f900 |0031: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -00cc0a: 7010 5303 0300 |0033: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00cc10: 1a0c 6b02 |0036: const-string v12, "Skipping account #" // string@026b │ │ -00cc14: 6e20 5a03 c300 |0038: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cc1a: 0c03 |003b: move-result-object v3 │ │ -00cc1c: 6e20 5a03 7300 |003c: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cc22: 0c03 |003f: move-result-object v3 │ │ -00cc24: 1a0c 2100 |0040: const-string v12, ": name missing" // string@0021 │ │ -00cc28: 6e20 5a03 c300 |0042: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cc2e: 0c03 |0045: move-result-object v3 │ │ -00cc30: 6e10 5b03 0300 |0046: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00cc36: 0c03 |0049: move-result-object v3 │ │ -00cc38: 7120 9a00 3000 |004a: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00cc3e: 28ca |004d: goto 0017 // -0036 │ │ -00cc40: 6e20 ef00 1f00 |004e: invoke-virtual {v15, v1}, Lcom/google/android/apps/authenticator/AccountDb;.nameExists:(Ljava/lang/String;)Z // method@00ef │ │ -00cc46: 0a00 |0051: move-result v0 │ │ -00cc48: 3800 2100 |0052: if-eqz v0, 0073 // +0021 │ │ -00cc4c: 6200 b900 |0054: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ -00cc50: 2203 f900 |0056: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -00cc54: 7010 5303 0300 |0058: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00cc5a: 1a0c 6b02 |005b: const-string v12, "Skipping account #" // string@026b │ │ -00cc5e: 6e20 5a03 c300 |005d: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cc64: 0c03 |0060: move-result-object v3 │ │ -00cc66: 6e20 5a03 7300 |0061: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cc6c: 0c03 |0064: move-result-object v3 │ │ -00cc6e: 1a0c 1f00 |0065: const-string v12, ": already configured" // string@001f │ │ -00cc72: 6e20 5a03 c300 |0067: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cc78: 0c03 |006a: move-result-object v3 │ │ -00cc7a: 6e10 5b03 0300 |006b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00cc80: 0c03 |006e: move-result-object v3 │ │ -00cc82: 7120 9a00 3000 |006f: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00cc88: 28a5 |0072: goto 0017 // -005b │ │ -00cc8a: 1a00 e403 |0073: const-string v0, "encodedSecret" // string@03e4 │ │ -00cc8e: 6e20 7500 0600 |0075: invoke-virtual {v6, v0}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0075 │ │ -00cc94: 0c02 |0078: move-result-object v2 │ │ -00cc96: 3902 2200 |0079: if-nez v2, 009b // +0022 │ │ -00cc9a: 6200 b900 |007b: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ -00cc9e: 2203 f900 |007d: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -00cca2: 7010 5303 0300 |007f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00cca8: 1a0c 6b02 |0082: const-string v12, "Skipping account #" // string@026b │ │ -00ccac: 6e20 5a03 c300 |0084: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00ccb2: 0c03 |0087: move-result-object v3 │ │ -00ccb4: 6e20 5a03 7300 |0088: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00ccba: 0c03 |008b: move-result-object v3 │ │ -00ccbc: 1a0c 2200 |008c: const-string v12, ": secret missing" // string@0022 │ │ -00ccc0: 6e20 5a03 c300 |008e: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00ccc6: 0c03 |0091: move-result-object v3 │ │ -00ccc8: 6e10 5b03 0300 |0092: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00ccce: 0c03 |0095: move-result-object v3 │ │ -00ccd0: 7120 9a00 3000 |0096: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00ccd6: 2900 7eff |0099: goto/16 0017 // -0082 │ │ -00ccda: 1a00 b206 |009b: const-string v0, "type" // string@06b2 │ │ -00ccde: 6e20 7500 0600 |009d: invoke-virtual {v6, v0}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0075 │ │ -00cce4: 0c0b |00a0: move-result-object v11 │ │ -00cce6: 1a00 ab06 |00a1: const-string v0, "totp" // string@06ab │ │ -00ccea: 6e20 4403 b000 |00a3: invoke-virtual {v0, v11}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -00ccf0: 0a00 |00a6: move-result v0 │ │ -00ccf2: 3800 3c00 |00a7: if-eqz v0, 00e3 // +003c │ │ -00ccf6: 6204 0a00 |00a9: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ -00ccfa: 1a00 9803 |00ab: const-string v0, "counter" // string@0398 │ │ -00ccfe: 6e20 6f00 0600 |00ad: invoke-virtual {v6, v0}, Landroid/os/Bundle;.containsKey:(Ljava/lang/String;)Z // method@006f │ │ -00cd04: 0a00 |00b0: move-result v0 │ │ -00cd06: 3800 6700 |00b1: if-eqz v0, 0118 // +0067 │ │ -00cd0a: 1a00 9803 |00b3: const-string v0, "counter" // string@0398 │ │ -00cd0e: 6e20 7200 0600 |00b5: invoke-virtual {v6, v0}, Landroid/os/Bundle;.getInt:(Ljava/lang/String;)I // method@0072 │ │ -00cd14: 0a00 |00b8: move-result v0 │ │ -00cd16: 7110 3203 0000 |00b9: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ -00cd1c: 0c05 |00bc: move-result-object v5 │ │ -00cd1e: 3905 5f00 |00bd: if-nez v5, 011c // +005f │ │ -00cd22: 6200 0900 |00bf: sget-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -00cd26: 3304 5900 |00c1: if-ne v4, v0, 011a // +0059 │ │ -00cd2a: 6200 b900 |00c3: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ -00cd2e: 2203 f900 |00c5: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -00cd32: 7010 5303 0300 |00c7: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00cd38: 1a0c 6b02 |00ca: const-string v12, "Skipping account #" // string@026b │ │ -00cd3c: 6e20 5a03 c300 |00cc: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cd42: 0c03 |00cf: move-result-object v3 │ │ -00cd44: 6e20 5a03 7300 |00d0: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cd4a: 0c03 |00d3: move-result-object v3 │ │ -00cd4c: 1a0c 2000 |00d4: const-string v12, ": counter missing" // string@0020 │ │ -00cd50: 6e20 5a03 c300 |00d6: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cd56: 0c03 |00d9: move-result-object v3 │ │ -00cd58: 6e10 5b03 0300 |00da: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00cd5e: 0c03 |00dd: move-result-object v3 │ │ -00cd60: 7120 9a00 3000 |00de: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00cd66: 2900 36ff |00e1: goto/16 0017 // -00ca │ │ -00cd6a: 1a00 9004 |00e3: const-string v0, "hotp" // string@0490 │ │ -00cd6e: 6e20 4403 b000 |00e5: invoke-virtual {v0, v11}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ -00cd74: 0a00 |00e8: move-result v0 │ │ -00cd76: 3800 0500 |00e9: if-eqz v0, 00ee // +0005 │ │ -00cd7a: 6204 0900 |00eb: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ -00cd7e: 28be |00ed: goto 00ab // -0042 │ │ -00cd80: 6200 b900 |00ee: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ -00cd84: 2203 f900 |00f0: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -00cd88: 7010 5303 0300 |00f2: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00cd8e: 1a0c 6b02 |00f5: const-string v12, "Skipping account #" // string@026b │ │ -00cd92: 6e20 5a03 c300 |00f7: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cd98: 0c03 |00fa: move-result-object v3 │ │ -00cd9a: 6e20 5a03 7300 |00fb: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cda0: 0c03 |00fe: move-result-object v3 │ │ -00cda2: 1a0c 2300 |00ff: const-string v12, ": unsupported type: "" // string@0023 │ │ -00cda6: 6e20 5a03 c300 |0101: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cdac: 0c03 |0104: move-result-object v3 │ │ -00cdae: 6e20 5a03 b300 |0105: invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cdb4: 0c03 |0108: move-result-object v3 │ │ -00cdb6: 1a0c 0800 |0109: const-string v12, """ // string@0008 │ │ -00cdba: 6e20 5a03 c300 |010b: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00cdc0: 0c03 |010e: move-result-object v3 │ │ -00cdc2: 6e10 5b03 0300 |010f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00cdc8: 0c03 |0112: move-result-object v3 │ │ -00cdca: 7120 9a00 3000 |0113: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00cdd0: 2900 01ff |0116: goto/16 0017 // -00ff │ │ -00cdd4: 1205 |0118: const/4 v5, #int 0 // #0 │ │ -00cdd6: 28a4 |0119: goto 00bd // -005c │ │ -00cdd8: 6205 0d00 |011a: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ -00cddc: 07f0 |011c: move-object v0, v15 │ │ -00cdde: 0713 |011d: move-object v3, v1 │ │ -00cde0: 7406 f300 0000 |011e: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AccountDb;.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@00f3 │ │ -00cde6: d809 0901 |0121: add-int/lit8 v9, v9, #int 1 // #01 │ │ -00cdea: 2900 f4fe |0123: goto/16 0017 // -010c │ │ -00cdee: 6200 b900 |0125: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ -00cdf2: 2203 f900 |0127: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -00cdf6: 7010 5303 0300 |0129: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00cdfc: 1a0c b400 |012c: const-string v12, "Imported " // string@00b4 │ │ -00ce00: 6e20 5a03 c300 |012e: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00ce06: 0c03 |0131: move-result-object v3 │ │ -00ce08: 6e20 5703 9300 |0132: invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ -00ce0e: 0c03 |0135: move-result-object v3 │ │ -00ce10: 1a0c 0300 |0136: const-string v12, " accounts" // string@0003 │ │ -00ce14: 6e20 5a03 c300 |0138: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00ce1a: 0c03 |013b: move-result-object v3 │ │ -00ce1c: 6e10 5b03 0300 |013c: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00ce22: 0c03 |013f: move-result-object v3 │ │ -00ce24: 7120 9900 3000 |0140: invoke-static {v0, v3}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ -00ce2a: 0e00 |0143: return-void │ │ +00c89c: |[00c89c] com.google.android.apps.authenticator.dataimport.Importer.importAccountDbFromBundle:(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;)V │ │ +00c8ac: 2209 0b01 |0000: new-instance v9, Ljava/util/ArrayList; // type@010b │ │ +00c8b0: 6e10 7600 0e00 |0002: invoke-virtual {v14}, Landroid/os/Bundle;.keySet:()Ljava/util/Set; // method@0076 │ │ +00c8b6: 0c00 |0005: move-result-object v0 │ │ +00c8b8: 7020 6803 0900 |0006: invoke-direct {v9, v0}, Ljava/util/ArrayList;.:(Ljava/util/Collection;)V // method@0368 │ │ +00c8be: 2200 9f00 |0009: new-instance v0, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; // type@009f │ │ +00c8c2: 1203 |000b: const/4 v3, #int 0 // #0 │ │ +00c8c4: 7020 4002 3000 |000c: invoke-direct {v0, v3}, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;.:(Lcom/google/android/apps/authenticator/dataimport/Importer$1;)V // method@0240 │ │ +00c8ca: 7120 6d03 0900 |000f: invoke-static {v9, v0}, Ljava/util/Collections;.sort:(Ljava/util/List;Ljava/util/Comparator;)V // method@036d │ │ +00c8d0: 1208 |0012: const/4 v8, #int 0 // #0 │ │ +00c8d2: 7210 7603 0900 |0013: invoke-interface {v9}, Ljava/util/List;.iterator:()Ljava/util/Iterator; // method@0376 │ │ +00c8d8: 0c0b |0016: move-result-object v11 │ │ +00c8da: 7210 7303 0b00 |0017: invoke-interface {v11}, Ljava/util/Iterator;.hasNext:()Z // method@0373 │ │ +00c8e0: 0a00 |001a: move-result v0 │ │ +00c8e2: 3800 0a01 |001b: if-eqz v0, 0125 // +010a │ │ +00c8e6: 7210 7403 0b00 |001d: invoke-interface {v11}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@0374 │ │ +00c8ec: 0c07 |0020: move-result-object v7 │ │ +00c8ee: 1f07 f800 |0021: check-cast v7, Ljava/lang/String; // type@00f8 │ │ +00c8f2: 6e20 7100 7e00 |0023: invoke-virtual {v14, v7}, Landroid/os/Bundle;.getBundle:(Ljava/lang/String;)Landroid/os/Bundle; // method@0071 │ │ +00c8f8: 0c06 |0026: move-result-object v6 │ │ +00c8fa: 1a00 3605 |0027: const-string v0, "name" // string@0536 │ │ +00c8fe: 6e20 7500 0600 |0029: invoke-virtual {v6, v0}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0075 │ │ +00c904: 0c01 |002c: move-result-object v1 │ │ +00c906: 3901 2100 |002d: if-nez v1, 004e // +0021 │ │ +00c90a: 6200 b900 |002f: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ +00c90e: 2203 f900 |0031: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c912: 7010 5303 0300 |0033: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c918: 1a0c 6802 |0036: const-string v12, "Skipping account #" // string@0268 │ │ +00c91c: 6e20 5a03 c300 |0038: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c922: 0c03 |003b: move-result-object v3 │ │ +00c924: 6e20 5a03 7300 |003c: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c92a: 0c03 |003f: move-result-object v3 │ │ +00c92c: 1a0c 2100 |0040: const-string v12, ": name missing" // string@0021 │ │ +00c930: 6e20 5a03 c300 |0042: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c936: 0c03 |0045: move-result-object v3 │ │ +00c938: 6e10 5b03 0300 |0046: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c93e: 0c03 |0049: move-result-object v3 │ │ +00c940: 7120 9a00 3000 |004a: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00c946: 28ca |004d: goto 0017 // -0036 │ │ +00c948: 6e20 ef00 1f00 |004e: invoke-virtual {v15, v1}, Lcom/google/android/apps/authenticator/AccountDb;.nameExists:(Ljava/lang/String;)Z // method@00ef │ │ +00c94e: 0a00 |0051: move-result v0 │ │ +00c950: 3800 2100 |0052: if-eqz v0, 0073 // +0021 │ │ +00c954: 6200 b900 |0054: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ +00c958: 2203 f900 |0056: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c95c: 7010 5303 0300 |0058: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c962: 1a0c 6802 |005b: const-string v12, "Skipping account #" // string@0268 │ │ +00c966: 6e20 5a03 c300 |005d: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c96c: 0c03 |0060: move-result-object v3 │ │ +00c96e: 6e20 5a03 7300 |0061: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c974: 0c03 |0064: move-result-object v3 │ │ +00c976: 1a0c 1f00 |0065: const-string v12, ": already configured" // string@001f │ │ +00c97a: 6e20 5a03 c300 |0067: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c980: 0c03 |006a: move-result-object v3 │ │ +00c982: 6e10 5b03 0300 |006b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c988: 0c03 |006e: move-result-object v3 │ │ +00c98a: 7120 9a00 3000 |006f: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00c990: 28a5 |0072: goto 0017 // -005b │ │ +00c992: 1a00 e003 |0073: const-string v0, "encodedSecret" // string@03e0 │ │ +00c996: 6e20 7500 0600 |0075: invoke-virtual {v6, v0}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0075 │ │ +00c99c: 0c02 |0078: move-result-object v2 │ │ +00c99e: 3902 2200 |0079: if-nez v2, 009b // +0022 │ │ +00c9a2: 6200 b900 |007b: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ +00c9a6: 2203 f900 |007d: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +00c9aa: 7010 5303 0300 |007f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00c9b0: 1a0c 6802 |0082: const-string v12, "Skipping account #" // string@0268 │ │ +00c9b4: 6e20 5a03 c300 |0084: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c9ba: 0c03 |0087: move-result-object v3 │ │ +00c9bc: 6e20 5a03 7300 |0088: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c9c2: 0c03 |008b: move-result-object v3 │ │ +00c9c4: 1a0c 2200 |008c: const-string v12, ": secret missing" // string@0022 │ │ +00c9c8: 6e20 5a03 c300 |008e: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00c9ce: 0c03 |0091: move-result-object v3 │ │ +00c9d0: 6e10 5b03 0300 |0092: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00c9d6: 0c03 |0095: move-result-object v3 │ │ +00c9d8: 7120 9a00 3000 |0096: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00c9de: 2900 7eff |0099: goto/16 0017 // -0082 │ │ +00c9e2: 1a00 ac06 |009b: const-string v0, "type" // string@06ac │ │ +00c9e6: 6e20 7500 0600 |009d: invoke-virtual {v6, v0}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@0075 │ │ +00c9ec: 0c0a |00a0: move-result-object v10 │ │ +00c9ee: 1a00 a506 |00a1: const-string v0, "totp" // string@06a5 │ │ +00c9f2: 6e20 4403 a000 |00a3: invoke-virtual {v0, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00c9f8: 0a00 |00a6: move-result v0 │ │ +00c9fa: 3800 3c00 |00a7: if-eqz v0, 00e3 // +003c │ │ +00c9fe: 6204 0a00 |00a9: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ +00ca02: 1a00 9403 |00ab: const-string v0, "counter" // string@0394 │ │ +00ca06: 6e20 6f00 0600 |00ad: invoke-virtual {v6, v0}, Landroid/os/Bundle;.containsKey:(Ljava/lang/String;)Z // method@006f │ │ +00ca0c: 0a00 |00b0: move-result v0 │ │ +00ca0e: 3800 6700 |00b1: if-eqz v0, 0118 // +0067 │ │ +00ca12: 1a00 9403 |00b3: const-string v0, "counter" // string@0394 │ │ +00ca16: 6e20 7200 0600 |00b5: invoke-virtual {v6, v0}, Landroid/os/Bundle;.getInt:(Ljava/lang/String;)I // method@0072 │ │ +00ca1c: 0a00 |00b8: move-result v0 │ │ +00ca1e: 7110 3203 0000 |00b9: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00ca24: 0c05 |00bc: move-result-object v5 │ │ +00ca26: 3905 5f00 |00bd: if-nez v5, 011c // +005f │ │ +00ca2a: 6200 0900 |00bf: sget-object v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +00ca2e: 3304 5900 |00c1: if-ne v4, v0, 011a // +0059 │ │ +00ca32: 6200 b900 |00c3: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ +00ca36: 2203 f900 |00c5: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +00ca3a: 7010 5303 0300 |00c7: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00ca40: 1a0c 6802 |00ca: const-string v12, "Skipping account #" // string@0268 │ │ +00ca44: 6e20 5a03 c300 |00cc: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00ca4a: 0c03 |00cf: move-result-object v3 │ │ +00ca4c: 6e20 5a03 7300 |00d0: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00ca52: 0c03 |00d3: move-result-object v3 │ │ +00ca54: 1a0c 2000 |00d4: const-string v12, ": counter missing" // string@0020 │ │ +00ca58: 6e20 5a03 c300 |00d6: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00ca5e: 0c03 |00d9: move-result-object v3 │ │ +00ca60: 6e10 5b03 0300 |00da: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00ca66: 0c03 |00dd: move-result-object v3 │ │ +00ca68: 7120 9a00 3000 |00de: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00ca6e: 2900 36ff |00e1: goto/16 0017 // -00ca │ │ +00ca72: 1a00 8c04 |00e3: const-string v0, "hotp" // string@048c │ │ +00ca76: 6e20 4403 a000 |00e5: invoke-virtual {v0, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00ca7c: 0a00 |00e8: move-result v0 │ │ +00ca7e: 3800 0500 |00e9: if-eqz v0, 00ee // +0005 │ │ +00ca82: 6204 0900 |00eb: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +00ca86: 28be |00ed: goto 00ab // -0042 │ │ +00ca88: 6200 b900 |00ee: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ +00ca8c: 2203 f900 |00f0: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +00ca90: 7010 5303 0300 |00f2: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00ca96: 1a0c 6802 |00f5: const-string v12, "Skipping account #" // string@0268 │ │ +00ca9a: 6e20 5a03 c300 |00f7: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00caa0: 0c03 |00fa: move-result-object v3 │ │ +00caa2: 6e20 5a03 7300 |00fb: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00caa8: 0c03 |00fe: move-result-object v3 │ │ +00caaa: 1a0c 2300 |00ff: const-string v12, ": unsupported type: "" // string@0023 │ │ +00caae: 6e20 5a03 c300 |0101: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00cab4: 0c03 |0104: move-result-object v3 │ │ +00cab6: 6e20 5a03 a300 |0105: invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00cabc: 0c03 |0108: move-result-object v3 │ │ +00cabe: 1a0c 0800 |0109: const-string v12, """ // string@0008 │ │ +00cac2: 6e20 5a03 c300 |010b: invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00cac8: 0c03 |010e: move-result-object v3 │ │ +00caca: 6e10 5b03 0300 |010f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00cad0: 0c03 |0112: move-result-object v3 │ │ +00cad2: 7120 9a00 3000 |0113: invoke-static {v0, v3}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00cad8: 2900 01ff |0116: goto/16 0017 // -00ff │ │ +00cadc: 1205 |0118: const/4 v5, #int 0 // #0 │ │ +00cade: 28a4 |0119: goto 00bd // -005c │ │ +00cae0: 6205 0d00 |011a: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ +00cae4: 07f0 |011c: move-object v0, v15 │ │ +00cae6: 0713 |011d: move-object v3, v1 │ │ +00cae8: 7406 f300 0000 |011e: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AccountDb;.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@00f3 │ │ +00caee: d808 0801 |0121: add-int/lit8 v8, v8, #int 1 // #01 │ │ +00caf2: 2900 f4fe |0123: goto/16 0017 // -010c │ │ +00caf6: 6200 b900 |0125: sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;.LOG_TAG:Ljava/lang/String; // field@00b9 │ │ +00cafa: 2203 f900 |0127: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +00cafe: 7010 5303 0300 |0129: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00cb04: 1a0b b400 |012c: const-string v11, "Imported " // string@00b4 │ │ +00cb08: 6e20 5a03 b300 |012e: invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00cb0e: 0c03 |0131: move-result-object v3 │ │ +00cb10: 6e20 5703 8300 |0132: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ +00cb16: 0c03 |0135: move-result-object v3 │ │ +00cb18: 1a0b 0300 |0136: const-string v11, " accounts" // string@0003 │ │ +00cb1c: 6e20 5a03 b300 |0138: invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00cb22: 0c03 |013b: move-result-object v3 │ │ +00cb24: 6e10 5b03 0300 |013c: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00cb2a: 0c03 |013f: move-result-object v3 │ │ +00cb2c: 7120 9900 3000 |0140: invoke-static {v0, v3}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ +00cb32: 0e00 |0143: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ 0x0009 line=84 │ │ 0x0012 line=85 │ │ 0x0013 line=86 │ │ 0x0023 line=87 │ │ @@ -14489,21 +8690,22 @@ │ │ 0x0073 line=98 │ │ 0x0079 line=99 │ │ 0x007b line=100 │ │ 0x009b line=103 │ │ 0x00a1 line=105 │ │ 0x00a9 line=106 │ │ 0x00ab line=115 │ │ + 0x00ad line=116 │ │ 0x00bd line=117 │ │ 0x00bf line=118 │ │ 0x00c3 line=119 │ │ 0x00e3 line=107 │ │ 0x00eb line=108 │ │ 0x00ee line=110 │ │ - 0x0118 line=115 │ │ + 0x0118 line=116 │ │ 0x011a line=123 │ │ 0x011e line=127 │ │ 0x0121 line=128 │ │ 0x0123 line=129 │ │ 0x0125 line=131 │ │ 0x0143 line=132 │ │ locals : │ │ @@ -14512,36 +8714,35 @@ │ │ 0x00ed - 0x00ee reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ 0x002d - 0x0125 reg=1 name Ljava/lang/String; │ │ 0x0079 - 0x0125 reg=2 encodedSecret Ljava/lang/String; │ │ 0x0118 - 0x0125 reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ 0x011a - 0x0125 reg=5 counter Ljava/lang/Integer; │ │ 0x0027 - 0x0125 reg=6 accountBundle Landroid/os/Bundle; │ │ 0x0023 - 0x0125 reg=7 accountBundleKey Ljava/lang/String; │ │ - 0x00a1 - 0x0125 reg=11 typeString Ljava/lang/String; │ │ - 0x0017 - 0x0144 reg=8 i$ Ljava/util/Iterator; │ │ - 0x0013 - 0x0144 reg=9 importedAccountCount I │ │ - 0x0009 - 0x0144 reg=10 sortedAccountBundleKeys Ljava/util/List; Ljava/util/List; │ │ + 0x00a1 - 0x0125 reg=10 typeString Ljava/lang/String; │ │ + 0x0013 - 0x0144 reg=8 importedAccountCount I │ │ + 0x0009 - 0x0144 reg=9 sortedAccountBundleKeys Ljava/util/List; Ljava/util/List; │ │ 0x0000 - 0x0144 reg=13 this Lcom/google/android/apps/authenticator/dataimport/Importer; │ │ 0x0000 - 0x0144 reg=14 bundle Landroid/os/Bundle; │ │ 0x0000 - 0x0144 reg=15 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/dataimport/Importer;) │ │ name : 'importPreferencesFromBundle' │ │ type : '(Landroid/os/Bundle;Landroid/content/SharedPreferences;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -00ce2c: |[00ce2c] com.google.android.apps.authenticator.dataimport.Importer.importPreferencesFromBundle:(Landroid/os/Bundle;Landroid/content/SharedPreferences;)V │ │ -00ce3c: 7030 4802 2103 |0000: invoke-direct {v1, v2, v3}, Lcom/google/android/apps/authenticator/dataimport/Importer;.tryImportPreferencesFromBundle:(Landroid/os/Bundle;Landroid/content/SharedPreferences;)Z // method@0248 │ │ -00ce42: 0a00 |0003: move-result v0 │ │ -00ce44: 3800 fcff |0004: if-eqz v0, 0000 // -0004 │ │ -00ce48: 0e00 |0006: return-void │ │ +00cb34: |[00cb34] com.google.android.apps.authenticator.dataimport.Importer.importPreferencesFromBundle:(Landroid/os/Bundle;Landroid/content/SharedPreferences;)V │ │ +00cb44: 7030 4802 2103 |0000: invoke-direct {v1, v2, v3}, Lcom/google/android/apps/authenticator/dataimport/Importer;.tryImportPreferencesFromBundle:(Landroid/os/Bundle;Landroid/content/SharedPreferences;)Z // method@0248 │ │ +00cb4a: 0a00 |0003: move-result v0 │ │ +00cb4c: 3800 fcff |0004: if-eqz v0, 0000 // -0004 │ │ +00cb50: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=166 │ │ 0x0006 line=167 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/dataimport/Importer; │ │ 0x0000 - 0x0007 reg=2 bundle Landroid/os/Bundle; │ │ @@ -14552,65 +8753,65 @@ │ │ type : '(Landroid/os/Bundle;Landroid/content/SharedPreferences;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 99 16-bit code units │ │ -00ce4c: |[00ce4c] com.google.android.apps.authenticator.dataimport.Importer.tryImportPreferencesFromBundle:(Landroid/os/Bundle;Landroid/content/SharedPreferences;)Z │ │ -00ce5c: 7210 4400 0800 |0000: invoke-interface {v8}, Landroid/content/SharedPreferences;.edit:()Landroid/content/SharedPreferences$Editor; // method@0044 │ │ -00ce62: 0c02 |0003: move-result-object v2 │ │ -00ce64: 6e10 7600 0700 |0004: invoke-virtual {v7}, Landroid/os/Bundle;.keySet:()Ljava/util/Set; // method@0076 │ │ -00ce6a: 0c04 |0007: move-result-object v4 │ │ -00ce6c: 7210 7703 0400 |0008: invoke-interface {v4}, Ljava/util/Set;.iterator:()Ljava/util/Iterator; // method@0377 │ │ -00ce72: 0c00 |000b: move-result-object v0 │ │ -00ce74: 7210 7303 0000 |000c: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@0373 │ │ -00ce7a: 0a04 |000f: move-result v4 │ │ -00ce7c: 3804 4e00 |0010: if-eqz v4, 005e // +004e │ │ -00ce80: 7210 7403 0000 |0012: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@0374 │ │ -00ce86: 0c01 |0015: move-result-object v1 │ │ -00ce88: 1f01 f800 |0016: check-cast v1, Ljava/lang/String; // type@00f8 │ │ -00ce8c: 6e20 7000 1700 |0018: invoke-virtual {v7, v1}, Landroid/os/Bundle;.get:(Ljava/lang/String;)Ljava/lang/Object; // method@0070 │ │ -00ce92: 0c03 |001b: move-result-object v3 │ │ -00ce94: 2034 de00 |001c: instance-of v4, v3, Ljava/lang/Boolean; // type@00de │ │ -00ce98: 3804 0c00 |001e: if-eqz v4, 002a // +000c │ │ -00ce9c: 1f03 de00 |0020: check-cast v3, Ljava/lang/Boolean; // type@00de │ │ -00cea0: 6e10 1203 0300 |0022: invoke-virtual {v3}, Ljava/lang/Boolean;.booleanValue:()Z // method@0312 │ │ -00cea6: 0a04 |0025: move-result v4 │ │ -00cea8: 7230 3f00 1204 |0026: invoke-interface {v2, v1, v4}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@003f │ │ -00ceae: 28e3 |0029: goto 000c // -001d │ │ -00ceb0: 2034 e700 |002a: instance-of v4, v3, Ljava/lang/Float; // type@00e7 │ │ -00ceb4: 3804 0c00 |002c: if-eqz v4, 0038 // +000c │ │ -00ceb8: 1f03 e700 |002e: check-cast v3, Ljava/lang/Float; // type@00e7 │ │ -00cebc: 6e10 2403 0300 |0030: invoke-virtual {v3}, Ljava/lang/Float;.floatValue:()F // method@0324 │ │ -00cec2: 0a04 |0033: move-result v4 │ │ -00cec4: 7230 4000 1204 |0034: invoke-interface {v2, v1, v4}, Landroid/content/SharedPreferences$Editor;.putFloat:(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor; // method@0040 │ │ -00ceca: 28d5 |0037: goto 000c // -002b │ │ -00cecc: 2034 eb00 |0038: instance-of v4, v3, Ljava/lang/Integer; // type@00eb │ │ -00ced0: 3804 0c00 |003a: if-eqz v4, 0046 // +000c │ │ -00ced4: 1f03 eb00 |003c: check-cast v3, Ljava/lang/Integer; // type@00eb │ │ -00ced8: 6e10 2b03 0300 |003e: invoke-virtual {v3}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ -00cede: 0a04 |0041: move-result v4 │ │ -00cee0: 7230 4100 1204 |0042: invoke-interface {v2, v1, v4}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0041 │ │ -00cee6: 28c7 |0045: goto 000c // -0039 │ │ -00cee8: 2034 ec00 |0046: instance-of v4, v3, Ljava/lang/Long; // type@00ec │ │ -00ceec: 3804 0c00 |0048: if-eqz v4, 0054 // +000c │ │ -00cef0: 1f03 ec00 |004a: check-cast v3, Ljava/lang/Long; // type@00ec │ │ -00cef4: 6e10 3303 0300 |004c: invoke-virtual {v3}, Ljava/lang/Long;.longValue:()J // method@0333 │ │ -00cefa: 0b04 |004f: move-result-wide v4 │ │ -00cefc: 7240 4200 1254 |0050: invoke-interface {v2, v1, v4, v5}, Landroid/content/SharedPreferences$Editor;.putLong:(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; // method@0042 │ │ -00cf02: 28b9 |0053: goto 000c // -0047 │ │ -00cf04: 2034 f800 |0054: instance-of v4, v3, Ljava/lang/String; // type@00f8 │ │ -00cf08: 3804 b6ff |0056: if-eqz v4, 000c // -004a │ │ -00cf0c: 1f03 f800 |0058: check-cast v3, Ljava/lang/String; // type@00f8 │ │ -00cf10: 7230 4300 1203 |005a: invoke-interface {v2, v1, v3}, Landroid/content/SharedPreferences$Editor;.putString:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; // method@0043 │ │ -00cf16: 28af |005d: goto 000c // -0051 │ │ -00cf18: 7210 3e00 0200 |005e: invoke-interface {v2}, Landroid/content/SharedPreferences$Editor;.commit:()Z // method@003e │ │ -00cf1e: 0a04 |0061: move-result v4 │ │ -00cf20: 0f04 |0062: return v4 │ │ +00cb54: |[00cb54] com.google.android.apps.authenticator.dataimport.Importer.tryImportPreferencesFromBundle:(Landroid/os/Bundle;Landroid/content/SharedPreferences;)Z │ │ +00cb64: 7210 4400 0800 |0000: invoke-interface {v8}, Landroid/content/SharedPreferences;.edit:()Landroid/content/SharedPreferences$Editor; // method@0044 │ │ +00cb6a: 0c01 |0003: move-result-object v1 │ │ +00cb6c: 6e10 7600 0700 |0004: invoke-virtual {v7}, Landroid/os/Bundle;.keySet:()Ljava/util/Set; // method@0076 │ │ +00cb72: 0c03 |0007: move-result-object v3 │ │ +00cb74: 7210 7703 0300 |0008: invoke-interface {v3}, Ljava/util/Set;.iterator:()Ljava/util/Iterator; // method@0377 │ │ +00cb7a: 0c03 |000b: move-result-object v3 │ │ +00cb7c: 7210 7303 0300 |000c: invoke-interface {v3}, Ljava/util/Iterator;.hasNext:()Z // method@0373 │ │ +00cb82: 0a04 |000f: move-result v4 │ │ +00cb84: 3804 4e00 |0010: if-eqz v4, 005e // +004e │ │ +00cb88: 7210 7403 0300 |0012: invoke-interface {v3}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@0374 │ │ +00cb8e: 0c00 |0015: move-result-object v0 │ │ +00cb90: 1f00 f800 |0016: check-cast v0, Ljava/lang/String; // type@00f8 │ │ +00cb94: 6e20 7000 0700 |0018: invoke-virtual {v7, v0}, Landroid/os/Bundle;.get:(Ljava/lang/String;)Ljava/lang/Object; // method@0070 │ │ +00cb9a: 0c02 |001b: move-result-object v2 │ │ +00cb9c: 2024 de00 |001c: instance-of v4, v2, Ljava/lang/Boolean; // type@00de │ │ +00cba0: 3804 0c00 |001e: if-eqz v4, 002a // +000c │ │ +00cba4: 1f02 de00 |0020: check-cast v2, Ljava/lang/Boolean; // type@00de │ │ +00cba8: 6e10 1203 0200 |0022: invoke-virtual {v2}, Ljava/lang/Boolean;.booleanValue:()Z // method@0312 │ │ +00cbae: 0a04 |0025: move-result v4 │ │ +00cbb0: 7230 3f00 0104 |0026: invoke-interface {v1, v0, v4}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@003f │ │ +00cbb6: 28e3 |0029: goto 000c // -001d │ │ +00cbb8: 2024 e700 |002a: instance-of v4, v2, Ljava/lang/Float; // type@00e7 │ │ +00cbbc: 3804 0c00 |002c: if-eqz v4, 0038 // +000c │ │ +00cbc0: 1f02 e700 |002e: check-cast v2, Ljava/lang/Float; // type@00e7 │ │ +00cbc4: 6e10 2403 0200 |0030: invoke-virtual {v2}, Ljava/lang/Float;.floatValue:()F // method@0324 │ │ +00cbca: 0a04 |0033: move-result v4 │ │ +00cbcc: 7230 4000 0104 |0034: invoke-interface {v1, v0, v4}, Landroid/content/SharedPreferences$Editor;.putFloat:(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor; // method@0040 │ │ +00cbd2: 28d5 |0037: goto 000c // -002b │ │ +00cbd4: 2024 eb00 |0038: instance-of v4, v2, Ljava/lang/Integer; // type@00eb │ │ +00cbd8: 3804 0c00 |003a: if-eqz v4, 0046 // +000c │ │ +00cbdc: 1f02 eb00 |003c: check-cast v2, Ljava/lang/Integer; // type@00eb │ │ +00cbe0: 6e10 2b03 0200 |003e: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ +00cbe6: 0a04 |0041: move-result v4 │ │ +00cbe8: 7230 4100 0104 |0042: invoke-interface {v1, v0, v4}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0041 │ │ +00cbee: 28c7 |0045: goto 000c // -0039 │ │ +00cbf0: 2024 ec00 |0046: instance-of v4, v2, Ljava/lang/Long; // type@00ec │ │ +00cbf4: 3804 0c00 |0048: if-eqz v4, 0054 // +000c │ │ +00cbf8: 1f02 ec00 |004a: check-cast v2, Ljava/lang/Long; // type@00ec │ │ +00cbfc: 6e10 3303 0200 |004c: invoke-virtual {v2}, Ljava/lang/Long;.longValue:()J // method@0333 │ │ +00cc02: 0b04 |004f: move-result-wide v4 │ │ +00cc04: 7240 4200 0154 |0050: invoke-interface {v1, v0, v4, v5}, Landroid/content/SharedPreferences$Editor;.putLong:(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; // method@0042 │ │ +00cc0a: 28b9 |0053: goto 000c // -0047 │ │ +00cc0c: 2024 f800 |0054: instance-of v4, v2, Ljava/lang/String; // type@00f8 │ │ +00cc10: 3804 b6ff |0056: if-eqz v4, 000c // -004a │ │ +00cc14: 1f02 f800 |0058: check-cast v2, Ljava/lang/String; // type@00f8 │ │ +00cc18: 7230 4300 0102 |005a: invoke-interface {v1, v0, v2}, Landroid/content/SharedPreferences$Editor;.putString:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; // method@0043 │ │ +00cc1e: 28af |005d: goto 000c // -0051 │ │ +00cc20: 7210 3e00 0100 |005e: invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;.commit:()Z // method@003e │ │ +00cc26: 0a03 |0061: move-result v3 │ │ +00cc28: 0f03 |0062: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=144 │ │ 0x0004 line=145 │ │ 0x0018 line=146 │ │ 0x001c line=147 │ │ 0x0020 line=148 │ │ @@ -14620,49 +8821,48 @@ │ │ 0x003c line=152 │ │ 0x0046 line=153 │ │ 0x004a line=154 │ │ 0x0054 line=155 │ │ 0x0058 line=156 │ │ 0x005e line=161 │ │ locals : │ │ - 0x001c - 0x0022 reg=3 value Ljava/lang/Object; │ │ - 0x002a - 0x0030 reg=3 value Ljava/lang/Object; │ │ - 0x0038 - 0x003e reg=3 value Ljava/lang/Object; │ │ - 0x0046 - 0x004c reg=3 value Ljava/lang/Object; │ │ - 0x0054 - 0x005a reg=3 value Ljava/lang/Object; │ │ - 0x0018 - 0x005e reg=1 key Ljava/lang/String; │ │ - 0x000c - 0x0063 reg=0 i$ Ljava/util/Iterator; │ │ - 0x0004 - 0x0063 reg=2 preferencesEditor Landroid/content/SharedPreferences$Editor; │ │ + 0x001c - 0x0022 reg=2 value Ljava/lang/Object; │ │ + 0x002a - 0x0030 reg=2 value Ljava/lang/Object; │ │ + 0x0038 - 0x003e reg=2 value Ljava/lang/Object; │ │ + 0x0046 - 0x004c reg=2 value Ljava/lang/Object; │ │ + 0x0054 - 0x005a reg=2 value Ljava/lang/Object; │ │ + 0x0018 - 0x005e reg=0 key Ljava/lang/String; │ │ + 0x0004 - 0x0063 reg=1 preferencesEditor Landroid/content/SharedPreferences$Editor; │ │ 0x0000 - 0x0063 reg=6 this Lcom/google/android/apps/authenticator/dataimport/Importer; │ │ 0x0000 - 0x0063 reg=7 bundle Landroid/os/Bundle; │ │ 0x0000 - 0x0063 reg=8 preferences Landroid/content/SharedPreferences; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/dataimport/Importer;) │ │ name : 'importFromBundle' │ │ type : '(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;Landroid/content/SharedPreferences;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 25 16-bit code units │ │ -00cf24: |[00cf24] com.google.android.apps.authenticator.dataimport.Importer.importFromBundle:(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;Landroid/content/SharedPreferences;)V │ │ -00cf34: 1a02 ff02 |0000: const-string v2, "accountDb" // string@02ff │ │ -00cf38: 6e20 7100 2400 |0002: invoke-virtual {v4, v2}, Landroid/os/Bundle;.getBundle:(Ljava/lang/String;)Landroid/os/Bundle; // method@0071 │ │ -00cf3e: 0c00 |0005: move-result-object v0 │ │ -00cf40: 3800 0500 |0006: if-eqz v0, 000b // +0005 │ │ -00cf44: 7030 4502 0305 |0008: invoke-direct {v3, v0, v5}, Lcom/google/android/apps/authenticator/dataimport/Importer;.importAccountDbFromBundle:(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;)V // method@0245 │ │ -00cf4a: 3806 0d00 |000b: if-eqz v6, 0018 // +000d │ │ -00cf4e: 1a02 b905 |000d: const-string v2, "preferences" // string@05b9 │ │ -00cf52: 6e20 7100 2400 |000f: invoke-virtual {v4, v2}, Landroid/os/Bundle;.getBundle:(Ljava/lang/String;)Landroid/os/Bundle; // method@0071 │ │ -00cf58: 0c01 |0012: move-result-object v1 │ │ -00cf5a: 3801 0500 |0013: if-eqz v1, 0018 // +0005 │ │ -00cf5e: 7030 4702 1306 |0015: invoke-direct {v3, v1, v6}, Lcom/google/android/apps/authenticator/dataimport/Importer;.importPreferencesFromBundle:(Landroid/os/Bundle;Landroid/content/SharedPreferences;)V // method@0247 │ │ -00cf64: 0e00 |0018: return-void │ │ +00cc2c: |[00cc2c] com.google.android.apps.authenticator.dataimport.Importer.importFromBundle:(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;Landroid/content/SharedPreferences;)V │ │ +00cc3c: 1a02 fc02 |0000: const-string v2, "accountDb" // string@02fc │ │ +00cc40: 6e20 7100 2400 |0002: invoke-virtual {v4, v2}, Landroid/os/Bundle;.getBundle:(Ljava/lang/String;)Landroid/os/Bundle; // method@0071 │ │ +00cc46: 0c00 |0005: move-result-object v0 │ │ +00cc48: 3800 0500 |0006: if-eqz v0, 000b // +0005 │ │ +00cc4c: 7030 4502 0305 |0008: invoke-direct {v3, v0, v5}, Lcom/google/android/apps/authenticator/dataimport/Importer;.importAccountDbFromBundle:(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;)V // method@0245 │ │ +00cc52: 3806 0d00 |000b: if-eqz v6, 0018 // +000d │ │ +00cc56: 1a02 b305 |000d: const-string v2, "preferences" // string@05b3 │ │ +00cc5a: 6e20 7100 2400 |000f: invoke-virtual {v4, v2}, Landroid/os/Bundle;.getBundle:(Ljava/lang/String;)Landroid/os/Bundle; // method@0071 │ │ +00cc60: 0c01 |0012: move-result-object v1 │ │ +00cc62: 3801 0500 |0013: if-eqz v1, 0018 // +0005 │ │ +00cc66: 7030 4702 1306 |0015: invoke-direct {v3, v1, v6}, Lcom/google/android/apps/authenticator/dataimport/Importer;.importPreferencesFromBundle:(Landroid/os/Bundle;Landroid/content/SharedPreferences;)V // method@0247 │ │ +00cc6c: 0e00 |0018: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=67 │ │ 0x0006 line=68 │ │ 0x0008 line=69 │ │ 0x000b line=72 │ │ 0x000d line=73 │ │ @@ -14675,370 +8875,33 @@ │ │ 0x0000 - 0x0019 reg=3 this Lcom/google/android/apps/authenticator/dataimport/Importer; │ │ 0x0000 - 0x0019 reg=4 bundle Landroid/os/Bundle; │ │ 0x0000 - 0x0019 reg=5 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ 0x0000 - 0x0019 reg=6 preferences Landroid/content/SharedPreferences; │ │ │ │ source_file_idx : 181 (Importer.java) │ │ │ │ -Class #70 header: │ │ -class_idx : 161 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 194 │ │ -source_file_idx : 183 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 2 │ │ - │ │ -Class #70 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ - │ │ -Class #70 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00cf68: |[00cf68] com.google.android.apps.authenticator.howitworks.IntroEnterCodeActivity.:()V │ │ -00cf78: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ -00cf7e: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=33 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 19 16-bit code units │ │ -00cf80: |[00cf80] com.google.android.apps.authenticator.howitworks.IntroEnterCodeActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00cf90: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ -00cf96: 1400 0300 037f |0003: const v0, #float 1.74129e+38 // #7f030003 │ │ -00cf9c: 6e20 4c02 0200 |0006: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;.setPageContentView:(I)Landroid/view/View; // method@024c │ │ -00cfa2: 1400 0a00 0a7f |0009: const v0, #float 1.83434e+38 // #7f0a000a │ │ -00cfa8: 1401 3f00 067f |000c: const v1, #float 1.78118e+38 // #7f06003f │ │ -00cfae: 6e30 4d02 0201 |000f: invoke-virtual {v2, v0, v1}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;.setTextViewHtmlFromResource:(II)V // method@024d │ │ -00cfb4: 0e00 |0012: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=37 │ │ - 0x0003 line=39 │ │ - 0x0009 line=40 │ │ - 0x0012 line=41 │ │ - locals : │ │ - 0x0000 - 0x0013 reg=2 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity; │ │ - 0x0000 - 0x0013 reg=3 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;) │ │ - name : 'onRightButtonPressed' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 6 16-bit code units │ │ -00cfb8: |[00cfb8] com.google.android.apps.authenticator.howitworks.IntroEnterCodeActivity.onRightButtonPressed:()V │ │ -00cfc8: 1c00 a300 |0000: const-class v0, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity; // type@00a3 │ │ -00cfcc: 6e20 4e02 0100 |0002: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;.startPageActivity:(Ljava/lang/Class;)V // method@024e │ │ -00cfd2: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=45 │ │ - 0x0005 line=46 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity; │ │ - │ │ - source_file_idx : 183 (IntroEnterCodeActivity.java) │ │ - │ │ -Class #71 header: │ │ -class_idx : 162 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 194 │ │ -source_file_idx : 184 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 2 │ │ - │ │ -Class #71 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ - │ │ -Class #71 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00cfd4: |[00cfd4] com.google.android.apps.authenticator.howitworks.IntroEnterPasswordActivity.:()V │ │ -00cfe4: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ -00cfea: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=33 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 19 16-bit code units │ │ -00cfec: |[00cfec] com.google.android.apps.authenticator.howitworks.IntroEnterPasswordActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00cffc: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ -00d002: 1400 0400 037f |0003: const v0, #float 1.74129e+38 // #7f030004 │ │ -00d008: 6e20 5202 0200 |0006: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;.setPageContentView:(I)Landroid/view/View; // method@0252 │ │ -00d00e: 1400 0a00 0a7f |0009: const v0, #float 1.83434e+38 // #7f0a000a │ │ -00d014: 1401 3d00 067f |000c: const v1, #float 1.78118e+38 // #7f06003d │ │ -00d01a: 6e30 5302 0201 |000f: invoke-virtual {v2, v0, v1}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;.setTextViewHtmlFromResource:(II)V // method@0253 │ │ -00d020: 0e00 |0012: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=37 │ │ - 0x0003 line=39 │ │ - 0x0009 line=40 │ │ - 0x0012 line=41 │ │ - locals : │ │ - 0x0000 - 0x0013 reg=2 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity; │ │ - 0x0000 - 0x0013 reg=3 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;) │ │ - name : 'onRightButtonPressed' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 6 16-bit code units │ │ -00d024: |[00d024] com.google.android.apps.authenticator.howitworks.IntroEnterPasswordActivity.onRightButtonPressed:()V │ │ -00d034: 1c00 a100 |0000: const-class v0, Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity; // type@00a1 │ │ -00d038: 6e20 5402 0100 |0002: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;.startPageActivity:(Ljava/lang/Class;)V // method@0254 │ │ -00d03e: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=45 │ │ - 0x0005 line=46 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity; │ │ - │ │ - source_file_idx : 184 (IntroEnterPasswordActivity.java) │ │ - │ │ -Class #72 header: │ │ -class_idx : 163 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 194 │ │ -source_file_idx : 185 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 2 │ │ - │ │ -Class #72 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ - │ │ -Class #72 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00d040: |[00d040] com.google.android.apps.authenticator.howitworks.IntroVerifyDeviceActivity.:()V │ │ -00d050: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ -00d056: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=33 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 4 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 27 16-bit code units │ │ -00d058: |[00d058] com.google.android.apps.authenticator.howitworks.IntroVerifyDeviceActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00d068: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ -00d06e: 1400 0500 037f |0003: const v0, #float 1.74129e+38 // #7f030005 │ │ -00d074: 6e20 5902 0200 |0006: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;.setPageContentView:(I)Landroid/view/View; // method@0259 │ │ -00d07a: 1400 0a00 0a7f |0009: const v0, #float 1.83434e+38 // #7f0a000a │ │ -00d080: 1401 4100 067f |000c: const v1, #float 1.78118e+38 // #7f060041 │ │ -00d086: 6e30 5a02 0201 |000f: invoke-virtual {v2, v0, v1}, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;.setTextViewHtmlFromResource:(II)V // method@025a │ │ -00d08c: 5420 ba00 |0012: iget-object v0, v2, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;.mRightButton:Landroid/widget/Button; // field@00ba │ │ -00d090: 1401 4200 067f |0014: const v1, #float 1.78118e+38 // #7f060042 │ │ -00d096: 6e20 ba00 1000 |0017: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(I)V // method@00ba │ │ -00d09c: 0e00 |001a: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=37 │ │ - 0x0003 line=39 │ │ - 0x0009 line=40 │ │ - 0x0012 line=42 │ │ - 0x001a line=43 │ │ - locals : │ │ - 0x0000 - 0x001b reg=2 this Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity; │ │ - 0x0000 - 0x001b reg=3 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;) │ │ - name : 'onRightButtonPressed' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00d0a0: |[00d0a0] com.google.android.apps.authenticator.howitworks.IntroVerifyDeviceActivity.onRightButtonPressed:()V │ │ -00d0b0: 6e10 5602 0000 |0000: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;.exitWizard:()V // method@0256 │ │ -00d0b6: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=47 │ │ - 0x0003 line=48 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity; │ │ - │ │ - source_file_idx : 185 (IntroVerifyDeviceActivity.java) │ │ - │ │ -Class #73 header: │ │ -class_idx : 164 │ │ -access_flags : 16 (0x0010) │ │ -superclass_idx : 243 │ │ -source_file_idx : 122 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 1 │ │ - │ │ -Class #73 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=getDataImportController │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name=null │ │ - │ │ -Class #73 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/testability/DependencyInjector$1;' │ │ - Access flags : 0x0010 (FINAL) │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/dataimport/ImportController;' │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/testability/DependencyInjector$1;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10000 (CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00d0b8: |[00d0b8] com.google.android.apps.authenticator.testability.DependencyInjector$1.:()V │ │ -00d0c8: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00d0ce: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=179 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/testability/DependencyInjector$1; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/testability/DependencyInjector$1;) │ │ - name : 'start' │ │ - type : '(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 3 │ │ - ins : 3 │ │ - outs : 0 │ │ - insns size : 1 16-bit code units │ │ -00d0d0: |[00d0d0] com.google.android.apps.authenticator.testability.DependencyInjector$1.start:(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ -00d0e0: 0e00 |0000: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=181 │ │ - locals : │ │ - 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/testability/DependencyInjector$1; │ │ - 0x0000 - 0x0001 reg=1 context Landroid/content/Context; │ │ - 0x0000 - 0x0001 reg=2 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ - │ │ - source_file_idx : 122 (DependencyInjector.java) │ │ - │ │ -Class #74 header: │ │ +Class #52 header: │ │ class_idx : 165 │ │ access_flags : 16400 (0x4010) │ │ superclass_idx : 229 │ │ source_file_idx : 122 │ │ static_fields_size : 3 │ │ instance_fields_size: 0 │ │ direct_methods_size : 4 │ │ virtual_methods_size: 0 │ │ │ │ -Class #74 annotations: │ │ +Class #52 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/testability/DependencyInjector; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=16410 name="Mode" │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/Enum" "<" "Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;" ">;" } │ │ Annotations on method #606 '' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "()V" } │ │ │ │ -Class #74 - │ │ +Class #52 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;' │ │ Access flags : 0x4010 (FINAL ENUM) │ │ Superclass : 'Ljava/lang/Enum;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;) │ │ name : '$VALUES' │ │ @@ -15059,33 +8922,33 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -00d0e4: |[00d0e4] com.google.android.apps.authenticator.testability.DependencyInjector$Mode.:()V │ │ -00d0f4: 1213 |0000: const/4 v3, #int 1 // #1 │ │ -00d0f6: 1202 |0001: const/4 v2, #int 0 // #0 │ │ -00d0f8: 2200 a500 |0002: new-instance v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@00a5 │ │ -00d0fc: 1a01 4602 |0004: const-string v1, "PRODUCTION" // string@0246 │ │ -00d100: 7030 5e02 1002 |0006: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.:(Ljava/lang/String;I)V // method@025e │ │ -00d106: 6900 bd00 |0009: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ -00d10a: 2200 a500 |000b: new-instance v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@00a5 │ │ -00d10e: 1a01 ab00 |000d: const-string v1, "INTEGRATION_TEST" // string@00ab │ │ -00d112: 7030 5e02 1003 |000f: invoke-direct {v0, v1, v3}, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.:(Ljava/lang/String;I)V // method@025e │ │ -00d118: 6900 bc00 |0012: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.INTEGRATION_TEST:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bc │ │ -00d11c: 1220 |0014: const/4 v0, #int 2 // #2 │ │ -00d11e: 2300 3101 |0015: new-array v0, v0, [Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@0131 │ │ -00d122: 6201 bd00 |0017: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ -00d126: 4d01 0002 |0019: aput-object v1, v0, v2 │ │ -00d12a: 6201 bc00 |001b: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.INTEGRATION_TEST:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bc │ │ -00d12e: 4d01 0003 |001d: aput-object v1, v0, v3 │ │ -00d132: 6900 bb00 |001f: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.$VALUES:[Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bb │ │ -00d136: 0e00 |0021: return-void │ │ +00cc70: |[00cc70] com.google.android.apps.authenticator.testability.DependencyInjector$Mode.:()V │ │ +00cc80: 1213 |0000: const/4 v3, #int 1 // #1 │ │ +00cc82: 1202 |0001: const/4 v2, #int 0 // #0 │ │ +00cc84: 2200 a500 |0002: new-instance v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@00a5 │ │ +00cc88: 1a01 4302 |0004: const-string v1, "PRODUCTION" // string@0243 │ │ +00cc8c: 7030 5e02 1002 |0006: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.:(Ljava/lang/String;I)V // method@025e │ │ +00cc92: 6900 bd00 |0009: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ +00cc96: 2200 a500 |000b: new-instance v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@00a5 │ │ +00cc9a: 1a01 ab00 |000d: const-string v1, "INTEGRATION_TEST" // string@00ab │ │ +00cc9e: 7030 5e02 1003 |000f: invoke-direct {v0, v1, v3}, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.:(Ljava/lang/String;I)V // method@025e │ │ +00cca4: 6900 bc00 |0012: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.INTEGRATION_TEST:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bc │ │ +00cca8: 1220 |0014: const/4 v0, #int 2 // #2 │ │ +00ccaa: 2300 3101 |0015: new-array v0, v0, [Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@0131 │ │ +00ccae: 6201 bd00 |0017: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ +00ccb2: 4d01 0002 |0019: aput-object v1, v0, v2 │ │ +00ccb6: 6201 bc00 |001b: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.INTEGRATION_TEST:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bc │ │ +00ccba: 4d01 0003 |001d: aput-object v1, v0, v3 │ │ +00ccbe: 6900 bb00 |001f: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.$VALUES:[Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bb │ │ +00ccc2: 0e00 |0021: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=67 │ │ 0x000b line=68 │ │ 0x0014 line=66 │ │ locals : │ │ │ │ @@ -15094,17 +8957,17 @@ │ │ type : '(Ljava/lang/String;I)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -00d138: |[00d138] com.google.android.apps.authenticator.testability.DependencyInjector$Mode.:(Ljava/lang/String;I)V │ │ -00d148: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ -00d14e: 0e00 |0003: return-void │ │ +00ccc4: |[00ccc4] com.google.android.apps.authenticator.testability.DependencyInjector$Mode.:(Ljava/lang/String;I)V │ │ +00ccd4: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ +00ccda: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -15114,20 +8977,20 @@ │ │ type : '(Ljava/lang/String;)Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -00d150: |[00d150] com.google.android.apps.authenticator.testability.DependencyInjector$Mode.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; │ │ -00d160: 1c00 a500 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@00a5 │ │ -00d164: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ -00d16a: 0c00 |0005: move-result-object v0 │ │ -00d16c: 1f00 a500 |0006: check-cast v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@00a5 │ │ -00d170: 1100 |0008: return-object v0 │ │ +00ccdc: |[00ccdc] com.google.android.apps.authenticator.testability.DependencyInjector$Mode.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; │ │ +00ccec: 1c00 a500 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@00a5 │ │ +00ccf0: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ +00ccf6: 0c00 |0005: move-result-object v0 │ │ +00ccf8: 1f00 a500 |0006: check-cast v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@00a5 │ │ +00ccfc: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 name Ljava/lang/String; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;) │ │ @@ -15135,43 +8998,43 @@ │ │ type : '()[Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00d174: |[00d174] com.google.android.apps.authenticator.testability.DependencyInjector$Mode.values:()[Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; │ │ -00d184: 6200 bb00 |0000: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.$VALUES:[Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bb │ │ -00d188: 6e10 9403 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.clone:()Ljava/lang/Object; // method@0394 │ │ -00d18e: 0c00 |0005: move-result-object v0 │ │ -00d190: 1f00 3101 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@0131 │ │ -00d194: 1100 |0008: return-object v0 │ │ +00cd00: |[00cd00] com.google.android.apps.authenticator.testability.DependencyInjector$Mode.values:()[Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; │ │ +00cd10: 6200 bb00 |0000: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.$VALUES:[Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bb │ │ +00cd14: 6e10 9403 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.clone:()Ljava/lang/Object; // method@0394 │ │ +00cd1a: 0c00 |0005: move-result-object v0 │ │ +00cd1c: 1f00 3101 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // type@0131 │ │ +00cd20: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : 122 (DependencyInjector.java) │ │ │ │ -Class #75 header: │ │ +Class #53 header: │ │ class_idx : 166 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ source_file_idx : 122 │ │ static_fields_size : 10 │ │ instance_fields_size: 0 │ │ direct_methods_size : 21 │ │ virtual_methods_size: 0 │ │ │ │ -Class #75 annotations: │ │ +Class #53 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; } │ │ │ │ -Class #75 - │ │ +Class #53 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/testability/DependencyInjector;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/testability/DependencyInjector;) │ │ name : 'sAccountDb' │ │ @@ -15220,17 +9083,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00d198: |[00d198] com.google.android.apps.authenticator.testability.DependencyInjector.:()V │ │ -00d1a8: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00d1ae: 0e00 |0003: return-void │ │ +00cd24: |[00cd24] com.google.android.apps.authenticator.testability.DependencyInjector.:()V │ │ +00cd34: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00cd3a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=73 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/testability/DependencyInjector; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/testability/DependencyInjector;) │ │ @@ -15238,53 +9101,53 @@ │ │ type : '()V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 62 16-bit code units │ │ -00d1b0: |[00d1b0] com.google.android.apps.authenticator.testability.DependencyInjector.close:()V │ │ -00d1c0: 1c02 a600 |0000: const-class v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d1c4: 1d02 |0002: monitor-enter v2 │ │ -00d1c6: 6201 be00 |0003: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d1ca: 3801 0700 |0005: if-eqz v1, 000c // +0007 │ │ -00d1ce: 6201 be00 |0007: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d1d2: 6e10 dd00 0100 |0009: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/AccountDb;.close:()V // method@00dd │ │ -00d1d8: 6201 c000 |000c: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ -00d1dc: 3801 0d00 |000e: if-eqz v1, 001b // +000d │ │ -00d1e0: 6201 c000 |0010: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ -00d1e4: 7210 8403 0100 |0012: invoke-interface {v1}, Lorg/apache/http/client/HttpClient;.getConnectionManager:()Lorg/apache/http/conn/ClientConnectionManager; // method@0384 │ │ -00d1ea: 0c00 |0015: move-result-object v0 │ │ -00d1ec: 3800 0500 |0016: if-eqz v0, 001b // +0005 │ │ -00d1f0: 7210 8a03 0000 |0018: invoke-interface {v0}, Lorg/apache/http/conn/ClientConnectionManager;.shutdown:()V // method@038a │ │ -00d1f6: 1201 |001b: const/4 v1, #int 0 // #0 │ │ -00d1f8: 6901 c200 |001c: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ -00d1fc: 1201 |001e: const/4 v1, #int 0 // #0 │ │ -00d1fe: 6901 bf00 |001f: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ -00d202: 1201 |0021: const/4 v1, #int 0 // #0 │ │ -00d204: 6901 be00 |0022: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d208: 1201 |0024: const/4 v1, #int 0 // #0 │ │ -00d20a: 6901 c400 |0025: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ -00d20e: 1201 |0027: const/4 v1, #int 0 // #0 │ │ -00d210: 6901 c700 |0028: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ -00d214: 1201 |002a: const/4 v1, #int 0 // #0 │ │ -00d216: 6901 c500 |002b: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ -00d21a: 1201 |002d: const/4 v1, #int 0 // #0 │ │ -00d21c: 6901 c600 |002e: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sStartActivityListener:Lcom/google/android/apps/authenticator/testability/StartActivityListener; // field@00c6 │ │ -00d220: 1201 |0030: const/4 v1, #int 0 // #0 │ │ -00d222: 6901 c000 |0031: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ -00d226: 1201 |0033: const/4 v1, #int 0 // #0 │ │ -00d228: 6901 c100 |0034: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ -00d22c: 1201 |0036: const/4 v1, #int 0 // #0 │ │ -00d22e: 6901 c300 |0037: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ -00d232: 1e02 |0039: monitor-exit v2 │ │ -00d234: 0e00 |003a: return-void │ │ -00d236: 0d01 |003b: move-exception v1 │ │ -00d238: 1e02 |003c: monitor-exit v2 │ │ -00d23a: 2701 |003d: throw v1 │ │ +00cd3c: |[00cd3c] com.google.android.apps.authenticator.testability.DependencyInjector.close:()V │ │ +00cd4c: 1c02 a600 |0000: const-class v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00cd50: 1d02 |0002: monitor-enter v2 │ │ +00cd52: 6201 be00 |0003: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00cd56: 3801 0700 |0005: if-eqz v1, 000c // +0007 │ │ +00cd5a: 6201 be00 |0007: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00cd5e: 6e10 dd00 0100 |0009: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/AccountDb;.close:()V // method@00dd │ │ +00cd64: 6201 c000 |000c: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ +00cd68: 3801 0d00 |000e: if-eqz v1, 001b // +000d │ │ +00cd6c: 6201 c000 |0010: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ +00cd70: 7210 8403 0100 |0012: invoke-interface {v1}, Lorg/apache/http/client/HttpClient;.getConnectionManager:()Lorg/apache/http/conn/ClientConnectionManager; // method@0384 │ │ +00cd76: 0c00 |0015: move-result-object v0 │ │ +00cd78: 3800 0500 |0016: if-eqz v0, 001b // +0005 │ │ +00cd7c: 7210 8a03 0000 |0018: invoke-interface {v0}, Lorg/apache/http/conn/ClientConnectionManager;.shutdown:()V // method@038a │ │ +00cd82: 1201 |001b: const/4 v1, #int 0 // #0 │ │ +00cd84: 6901 c200 |001c: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ +00cd88: 1201 |001e: const/4 v1, #int 0 // #0 │ │ +00cd8a: 6901 bf00 |001f: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ +00cd8e: 1201 |0021: const/4 v1, #int 0 // #0 │ │ +00cd90: 6901 be00 |0022: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00cd94: 1201 |0024: const/4 v1, #int 0 // #0 │ │ +00cd96: 6901 c400 |0025: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ +00cd9a: 1201 |0027: const/4 v1, #int 0 // #0 │ │ +00cd9c: 6901 c700 |0028: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ +00cda0: 1201 |002a: const/4 v1, #int 0 // #0 │ │ +00cda2: 6901 c500 |002b: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ +00cda6: 1201 |002d: const/4 v1, #int 0 // #0 │ │ +00cda8: 6901 c600 |002e: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sStartActivityListener:Lcom/google/android/apps/authenticator/testability/StartActivityListener; // field@00c6 │ │ +00cdac: 1201 |0030: const/4 v1, #int 0 // #0 │ │ +00cdae: 6901 c000 |0031: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ +00cdb2: 1201 |0033: const/4 v1, #int 0 // #0 │ │ +00cdb4: 6901 c100 |0034: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ +00cdb8: 1201 |0036: const/4 v1, #int 0 // #0 │ │ +00cdba: 6901 c300 |0037: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ +00cdbe: 1e02 |0039: monitor-exit v2 │ │ +00cdc0: 0e00 |003a: return-void │ │ +00cdc2: 0d01 |003b: move-exception v1 │ │ +00cdc4: 1e02 |003c: monitor-exit v2 │ │ +00cdc6: 2701 |003d: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0039 │ │ -> 0x003b │ │ positions : │ │ 0x0000 line=262 │ │ 0x0007 line=263 │ │ 0x000c line=265 │ │ @@ -15311,29 +9174,29 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 22 16-bit code units │ │ -00d248: |[00d248] com.google.android.apps.authenticator.testability.DependencyInjector.configureForProductionIfNotConfigured:(Landroid/content/Context;)V │ │ -00d258: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d25c: 1d01 |0002: monitor-enter v1 │ │ -00d25e: 6200 c200 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ -00d262: 3800 0400 |0005: if-eqz v0, 0009 // +0004 │ │ -00d266: 1e01 |0007: monitor-exit v1 │ │ -00d268: 0e00 |0008: return-void │ │ -00d26a: 7100 6202 0000 |0009: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.close:()V // method@0262 │ │ -00d270: 6200 bd00 |000c: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ -00d274: 6900 c200 |000e: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ -00d278: 6902 bf00 |0010: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ -00d27c: 28f5 |0012: goto 0007 // -000b │ │ -00d27e: 0d00 |0013: move-exception v0 │ │ -00d280: 1e01 |0014: monitor-exit v1 │ │ -00d282: 2700 |0015: throw v0 │ │ +00cdd4: |[00cdd4] com.google.android.apps.authenticator.testability.DependencyInjector.configureForProductionIfNotConfigured:(Landroid/content/Context;)V │ │ +00cde4: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00cde8: 1d01 |0002: monitor-enter v1 │ │ +00cdea: 6200 c200 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ +00cdee: 3800 0400 |0005: if-eqz v0, 0009 // +0004 │ │ +00cdf2: 1e01 |0007: monitor-exit v1 │ │ +00cdf4: 0e00 |0008: return-void │ │ +00cdf6: 7100 6202 0000 |0009: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.close:()V // method@0262 │ │ +00cdfc: 6200 bd00 |000c: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ +00ce00: 6900 c200 |000e: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ +00ce04: 6902 bf00 |0010: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ +00ce08: 28f5 |0012: goto 0007 // -000b │ │ +00ce0a: 0d00 |0013: move-exception v0 │ │ +00ce0c: 1e01 |0014: monitor-exit v1 │ │ +00ce0e: 2700 |0015: throw v0 │ │ catches : 2 │ │ 0x0003 - 0x0005 │ │ -> 0x0013 │ │ 0x0009 - 0x0012 │ │ -> 0x0013 │ │ positions : │ │ 0x0000 line=229 │ │ @@ -15350,35 +9213,35 @@ │ │ type : '()Lcom/google/android/apps/authenticator/AccountDb;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -00d298: |[00d298] com.google.android.apps.authenticator.testability.DependencyInjector.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; │ │ -00d2a8: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d2ac: 1d01 |0002: monitor-enter v1 │ │ -00d2ae: 6200 be00 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d2b2: 3900 1800 |0005: if-nez v0, 001d // +0018 │ │ -00d2b6: 2200 6300 |0007: new-instance v0, Lcom/google/android/apps/authenticator/AccountDb; // type@0063 │ │ -00d2ba: 7100 6502 0000 |0009: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getContext:()Landroid/content/Context; // method@0265 │ │ -00d2c0: 0c02 |000c: move-result-object v2 │ │ -00d2c2: 7020 dc00 2000 |000d: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/AccountDb;.:(Landroid/content/Context;)V // method@00dc │ │ -00d2c8: 6900 be00 |0010: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d2cc: 6200 c200 |0012: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ -00d2d0: 6202 bd00 |0014: sget-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ -00d2d4: 3220 0700 |0016: if-eq v0, v2, 001d // +0007 │ │ -00d2d8: 6200 be00 |0018: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d2dc: 6e10 e100 0000 |001a: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AccountDb;.deleteAllData:()Z // method@00e1 │ │ -00d2e2: 6200 be00 |001d: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d2e6: 1e01 |001f: monitor-exit v1 │ │ -00d2e8: 1100 |0020: return-object v0 │ │ -00d2ea: 0d00 |0021: move-exception v0 │ │ -00d2ec: 1e01 |0022: monitor-exit v1 │ │ -00d2ee: 2700 |0023: throw v0 │ │ +00ce24: |[00ce24] com.google.android.apps.authenticator.testability.DependencyInjector.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; │ │ +00ce34: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00ce38: 1d01 |0002: monitor-enter v1 │ │ +00ce3a: 6200 be00 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00ce3e: 3900 1800 |0005: if-nez v0, 001d // +0018 │ │ +00ce42: 2200 6300 |0007: new-instance v0, Lcom/google/android/apps/authenticator/AccountDb; // type@0063 │ │ +00ce46: 7100 6502 0000 |0009: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getContext:()Landroid/content/Context; // method@0265 │ │ +00ce4c: 0c02 |000c: move-result-object v2 │ │ +00ce4e: 7020 dc00 2000 |000d: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/AccountDb;.:(Landroid/content/Context;)V // method@00dc │ │ +00ce54: 6900 be00 |0010: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00ce58: 6200 c200 |0012: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ +00ce5c: 6202 bd00 |0014: sget-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ +00ce60: 3220 0700 |0016: if-eq v0, v2, 001d // +0007 │ │ +00ce64: 6200 be00 |0018: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00ce68: 6e10 e100 0000 |001a: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AccountDb;.deleteAllData:()Z // method@00e1 │ │ +00ce6e: 6200 be00 |001d: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00ce72: 1e01 |001f: monitor-exit v1 │ │ +00ce74: 1100 |0020: return-object v0 │ │ +00ce76: 0d00 |0021: move-exception v0 │ │ +00ce78: 1e01 |0022: monitor-exit v1 │ │ +00ce7a: 2700 |0023: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x001f │ │ -> 0x0021 │ │ positions : │ │ 0x0000 line=97 │ │ 0x0007 line=98 │ │ 0x0012 line=99 │ │ @@ -15392,29 +9255,29 @@ │ │ type : '()Landroid/content/Context;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -00d2fc: |[00d2fc] com.google.android.apps.authenticator.testability.DependencyInjector.getContext:()Landroid/content/Context; │ │ -00d30c: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d310: 1d01 |0002: monitor-enter v1 │ │ -00d312: 6200 bf00 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ -00d316: 3900 0d00 |0005: if-nez v0, 0012 // +000d │ │ -00d31a: 2200 ea00 |0007: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ -00d31e: 1a02 6300 |0009: const-string v2, "Context not set" // string@0063 │ │ -00d322: 7020 2803 2000 |000b: invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ -00d328: 2700 |000e: throw v0 │ │ -00d32a: 0d00 |000f: move-exception v0 │ │ -00d32c: 1e01 |0010: monitor-exit v1 │ │ -00d32e: 2700 |0011: throw v0 │ │ -00d330: 6200 bf00 |0012: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ -00d334: 1e01 |0014: monitor-exit v1 │ │ -00d336: 1100 |0015: return-object v0 │ │ +00ce88: |[00ce88] com.google.android.apps.authenticator.testability.DependencyInjector.getContext:()Landroid/content/Context; │ │ +00ce98: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00ce9c: 1d01 |0002: monitor-enter v1 │ │ +00ce9e: 6200 bf00 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ +00cea2: 3900 0d00 |0005: if-nez v0, 0012 // +000d │ │ +00cea6: 2200 ea00 |0007: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ +00ceaa: 1a02 6300 |0009: const-string v2, "Context not set" // string@0063 │ │ +00ceae: 7020 2803 2000 |000b: invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ +00ceb4: 2700 |000e: throw v0 │ │ +00ceb6: 0d00 |000f: move-exception v0 │ │ +00ceb8: 1e01 |0010: monitor-exit v1 │ │ +00ceba: 2700 |0011: throw v0 │ │ +00cebc: 6200 bf00 |0012: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ +00cec0: 1e01 |0014: monitor-exit v1 │ │ +00cec2: 1100 |0015: return-object v0 │ │ catches : 2 │ │ 0x0003 - 0x000f │ │ -> 0x000f │ │ 0x0012 - 0x0014 │ │ -> 0x000f │ │ positions : │ │ 0x0000 line=79 │ │ @@ -15428,35 +9291,35 @@ │ │ type : '()Lcom/google/android/apps/authenticator/dataimport/ImportController;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 35 16-bit code units │ │ -00d34c: |[00d34c] com.google.android.apps.authenticator.testability.DependencyInjector.getDataImportController:()Lcom/google/android/apps/authenticator/dataimport/ImportController; │ │ -00d35c: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d360: 1d01 |0002: monitor-enter v1 │ │ -00d362: 6200 c100 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ -00d366: 3900 0f00 |0005: if-nez v0, 0014 // +000f │ │ -00d36a: 6200 c200 |0007: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ -00d36e: 6202 bd00 |0009: sget-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ -00d372: 3320 0d00 |000b: if-ne v0, v2, 0018 // +000d │ │ -00d376: 2200 9b00 |000d: new-instance v0, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; // type@009b │ │ -00d37a: 7010 3202 0000 |000f: invoke-direct {v0}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.:()V // method@0232 │ │ -00d380: 6900 c100 |0012: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ -00d384: 6200 c100 |0014: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ -00d388: 1e01 |0016: monitor-exit v1 │ │ -00d38a: 1100 |0017: return-object v0 │ │ -00d38c: 2200 a400 |0018: new-instance v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$1; // type@00a4 │ │ -00d390: 7010 5b02 0000 |001a: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/DependencyInjector$1;.:()V // method@025b │ │ -00d396: 6900 c100 |001d: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ -00d39a: 28f5 |001f: goto 0014 // -000b │ │ -00d39c: 0d00 |0020: move-exception v0 │ │ -00d39e: 1e01 |0021: monitor-exit v1 │ │ -00d3a0: 2700 |0022: throw v0 │ │ +00ced8: |[00ced8] com.google.android.apps.authenticator.testability.DependencyInjector.getDataImportController:()Lcom/google/android/apps/authenticator/dataimport/ImportController; │ │ +00cee8: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00ceec: 1d01 |0002: monitor-enter v1 │ │ +00ceee: 6200 c100 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ +00cef2: 3900 0f00 |0005: if-nez v0, 0014 // +000f │ │ +00cef6: 6200 c200 |0007: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ +00cefa: 6202 bd00 |0009: sget-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.PRODUCTION:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bd │ │ +00cefe: 3320 0d00 |000b: if-ne v0, v2, 0018 // +000d │ │ +00cf02: 2200 9b00 |000d: new-instance v0, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; // type@009b │ │ +00cf06: 7010 3202 0000 |000f: invoke-direct {v0}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.:()V // method@0232 │ │ +00cf0c: 6900 c100 |0012: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ +00cf10: 6200 c100 |0014: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ +00cf14: 1e01 |0016: monitor-exit v1 │ │ +00cf16: 1100 |0017: return-object v0 │ │ +00cf18: 2200 a400 |0018: new-instance v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector$1; // type@00a4 │ │ +00cf1c: 7010 5b02 0000 |001a: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/DependencyInjector$1;.:()V // method@025b │ │ +00cf22: 6900 c100 |001d: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ +00cf26: 28f5 |001f: goto 0014 // -000b │ │ +00cf28: 0d00 |0020: move-exception v0 │ │ +00cf2a: 1e01 |0021: monitor-exit v1 │ │ +00cf2c: 2700 |0022: throw v0 │ │ catches : 2 │ │ 0x0003 - 0x0016 │ │ -> 0x0020 │ │ 0x0018 - 0x001f │ │ -> 0x0020 │ │ positions : │ │ 0x0000 line=173 │ │ @@ -15472,30 +9335,30 @@ │ │ type : '()Lorg/apache/http/client/HttpClient;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 24 16-bit code units │ │ -00d3b8: |[00d3b8] com.google.android.apps.authenticator.testability.DependencyInjector.getHttpClient:()Lorg/apache/http/client/HttpClient; │ │ -00d3c8: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d3cc: 1d01 |0002: monitor-enter v1 │ │ -00d3ce: 6200 c000 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ -00d3d2: 3900 0c00 |0005: if-nez v0, 0011 // +000c │ │ -00d3d6: 7100 6502 0000 |0007: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getContext:()Landroid/content/Context; // method@0265 │ │ -00d3dc: 0c00 |000a: move-result-object v0 │ │ -00d3de: 7110 7802 0000 |000b: invoke-static {v0}, Lcom/google/android/apps/authenticator/testability/HttpClientFactory;.createHttpClient:(Landroid/content/Context;)Lorg/apache/http/client/HttpClient; // method@0278 │ │ -00d3e4: 0c00 |000e: move-result-object v0 │ │ -00d3e6: 6900 c000 |000f: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ -00d3ea: 6200 c000 |0011: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ -00d3ee: 1e01 |0013: monitor-exit v1 │ │ -00d3f0: 1100 |0014: return-object v0 │ │ -00d3f2: 0d00 |0015: move-exception v0 │ │ -00d3f4: 1e01 |0016: monitor-exit v1 │ │ -00d3f6: 2700 |0017: throw v0 │ │ +00cf44: |[00cf44] com.google.android.apps.authenticator.testability.DependencyInjector.getHttpClient:()Lorg/apache/http/client/HttpClient; │ │ +00cf54: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00cf58: 1d01 |0002: monitor-enter v1 │ │ +00cf5a: 6200 c000 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ +00cf5e: 3900 0c00 |0005: if-nez v0, 0011 // +000c │ │ +00cf62: 7100 6502 0000 |0007: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getContext:()Landroid/content/Context; // method@0265 │ │ +00cf68: 0c00 |000a: move-result-object v0 │ │ +00cf6a: 7110 7802 0000 |000b: invoke-static {v0}, Lcom/google/android/apps/authenticator/testability/HttpClientFactory;.createHttpClient:(Landroid/content/Context;)Lorg/apache/http/client/HttpClient; // method@0278 │ │ +00cf70: 0c00 |000e: move-result-object v0 │ │ +00cf72: 6900 c000 |000f: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ +00cf76: 6200 c000 |0011: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ +00cf7a: 1e01 |0013: monitor-exit v1 │ │ +00cf7c: 1100 |0014: return-object v0 │ │ +00cf7e: 0d00 |0015: move-exception v0 │ │ +00cf80: 1e01 |0016: monitor-exit v1 │ │ +00cf82: 2700 |0017: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x0013 │ │ -> 0x0015 │ │ positions : │ │ 0x0000 line=197 │ │ 0x0007 line=198 │ │ 0x0011 line=200 │ │ @@ -15507,55 +9370,55 @@ │ │ type : '()Lcom/google/android/apps/authenticator/OptionalFeatures;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 5 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 73 16-bit code units │ │ -00d404: |[00d404] com.google.android.apps.authenticator.testability.DependencyInjector.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; │ │ -00d414: 1c03 a600 |0000: const-class v3, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d418: 1d03 |0002: monitor-enter v3 │ │ -00d41a: 6202 c300 |0003: sget-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ -00d41e: 3902 2b00 |0005: if-nez v2, 0030 // +002b │ │ -00d422: 2202 f900 |0007: new-instance v2, Ljava/lang/StringBuilder; // type@00f9 │ │ -00d426: 7010 5303 0200 |0009: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00d42c: 1c04 7900 |000c: const-class v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity; // type@0079 │ │ -00d430: 6e10 1a03 0400 |000e: invoke-virtual {v4}, Ljava/lang/Class;.getPackage:()Ljava/lang/Package; // method@031a │ │ -00d436: 0c04 |0011: move-result-object v4 │ │ -00d438: 6e10 3d03 0400 |0012: invoke-virtual {v4}, Ljava/lang/Package;.getName:()Ljava/lang/String; // method@033d │ │ -00d43e: 0c04 |0015: move-result-object v4 │ │ -00d440: 6e20 5a03 4200 |0016: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00d446: 0c02 |0019: move-result-object v2 │ │ -00d448: 1a04 1a00 |001a: const-string v4, ".NonMarketBuildOptionalFeatures" // string@001a │ │ -00d44c: 6e20 5a03 4200 |001c: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00d452: 0c02 |001f: move-result-object v2 │ │ -00d454: 6e10 5b03 0200 |0020: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00d45a: 0c02 |0023: move-result-object v2 │ │ -00d45c: 7110 1603 0200 |0024: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ -00d462: 0c01 |0027: move-result-object v1 │ │ -00d464: 6e10 1c03 0100 |0028: invoke-virtual {v1}, Ljava/lang/Class;.newInstance:()Ljava/lang/Object; // method@031c │ │ -00d46a: 0c02 |002b: move-result-object v2 │ │ -00d46c: 1f02 8400 |002c: check-cast v2, Lcom/google/android/apps/authenticator/OptionalFeatures; // type@0084 │ │ -00d470: 6902 c300 |002e: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ -00d474: 6202 c300 |0030: sget-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ -00d478: 1e03 |0032: monitor-exit v3 │ │ -00d47a: 1102 |0033: return-object v2 │ │ -00d47c: 0d00 |0034: move-exception v0 │ │ -00d47e: 2202 f600 |0035: new-instance v2, Ljava/lang/RuntimeException; // type@00f6 │ │ -00d482: 1a04 8900 |0037: const-string v4, "Failed to instantiate optional features module" // string@0089 │ │ -00d486: 7030 4003 4200 |0039: invoke-direct {v2, v4, v0}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0340 │ │ -00d48c: 2702 |003c: throw v2 │ │ -00d48e: 0d00 |003d: move-exception v0 │ │ -00d490: 2202 8300 |003e: new-instance v2, Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; // type@0083 │ │ -00d494: 7010 b901 0200 |0040: invoke-direct {v2}, Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;.:()V // method@01b9 │ │ -00d49a: 6902 c300 |0043: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ -00d49e: 28eb |0045: goto 0030 // -0015 │ │ -00d4a0: 0d02 |0046: move-exception v2 │ │ -00d4a2: 1e03 |0047: monitor-exit v3 │ │ -00d4a4: 2702 |0048: throw v2 │ │ +00cf90: |[00cf90] com.google.android.apps.authenticator.testability.DependencyInjector.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; │ │ +00cfa0: 1c03 a600 |0000: const-class v3, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00cfa4: 1d03 |0002: monitor-enter v3 │ │ +00cfa6: 6202 c300 |0003: sget-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ +00cfaa: 3902 2b00 |0005: if-nez v2, 0030 // +002b │ │ +00cfae: 2202 f900 |0007: new-instance v2, Ljava/lang/StringBuilder; // type@00f9 │ │ +00cfb2: 7010 5303 0200 |0009: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00cfb8: 1c04 7900 |000c: const-class v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity; // type@0079 │ │ +00cfbc: 6e10 1a03 0400 |000e: invoke-virtual {v4}, Ljava/lang/Class;.getPackage:()Ljava/lang/Package; // method@031a │ │ +00cfc2: 0c04 |0011: move-result-object v4 │ │ +00cfc4: 6e10 3d03 0400 |0012: invoke-virtual {v4}, Ljava/lang/Package;.getName:()Ljava/lang/String; // method@033d │ │ +00cfca: 0c04 |0015: move-result-object v4 │ │ +00cfcc: 6e20 5a03 4200 |0016: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00cfd2: 0c02 |0019: move-result-object v2 │ │ +00cfd4: 1a04 1a00 |001a: const-string v4, ".NonMarketBuildOptionalFeatures" // string@001a │ │ +00cfd8: 6e20 5a03 4200 |001c: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00cfde: 0c02 |001f: move-result-object v2 │ │ +00cfe0: 6e10 5b03 0200 |0020: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00cfe6: 0c02 |0023: move-result-object v2 │ │ +00cfe8: 7110 1603 0200 |0024: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0316 │ │ +00cfee: 0c01 |0027: move-result-object v1 │ │ +00cff0: 6e10 1c03 0100 |0028: invoke-virtual {v1}, Ljava/lang/Class;.newInstance:()Ljava/lang/Object; // method@031c │ │ +00cff6: 0c02 |002b: move-result-object v2 │ │ +00cff8: 1f02 8400 |002c: check-cast v2, Lcom/google/android/apps/authenticator/OptionalFeatures; // type@0084 │ │ +00cffc: 6902 c300 |002e: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ +00d000: 6202 c300 |0030: sget-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ +00d004: 1e03 |0032: monitor-exit v3 │ │ +00d006: 1102 |0033: return-object v2 │ │ +00d008: 0d00 |0034: move-exception v0 │ │ +00d00a: 2202 f600 |0035: new-instance v2, Ljava/lang/RuntimeException; // type@00f6 │ │ +00d00e: 1a04 8900 |0037: const-string v4, "Failed to instantiate optional features module" // string@0089 │ │ +00d012: 7030 4003 4200 |0039: invoke-direct {v2, v4, v0}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0340 │ │ +00d018: 2702 |003c: throw v2 │ │ +00d01a: 0d00 |003d: move-exception v0 │ │ +00d01c: 2202 8300 |003e: new-instance v2, Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; // type@0083 │ │ +00d020: 7010 b901 0200 |0040: invoke-direct {v2}, Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;.:()V // method@01b9 │ │ +00d026: 6902 c300 |0043: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ +00d02a: 28eb |0045: goto 0030 // -0015 │ │ +00d02c: 0d02 |0046: move-exception v2 │ │ +00d02e: 1e03 |0047: monitor-exit v3 │ │ +00d030: 2702 |0048: throw v2 │ │ catches : 6 │ │ 0x0003 - 0x0005 │ │ -> 0x0046 │ │ 0x0007 - 0x0027 │ │ Ljava/lang/ClassNotFoundException; -> 0x003d │ │ -> 0x0046 │ │ 0x0028 - 0x0030 │ │ @@ -15568,14 +9431,16 @@ │ │ Ljava/lang/ClassNotFoundException; -> 0x003d │ │ -> 0x0046 │ │ 0x003e - 0x0045 │ │ -> 0x0046 │ │ positions : │ │ 0x0000 line=208 │ │ 0x0007 line=210 │ │ + 0x000e line=211 │ │ + 0x0024 line=210 │ │ 0x0028 line=213 │ │ 0x0030 line=221 │ │ 0x0034 line=214 │ │ 0x0035 line=215 │ │ 0x003d line=217 │ │ 0x003e line=218 │ │ 0x0046 line=208 │ │ @@ -15589,34 +9454,34 @@ │ │ type : '()Lcom/google/android/apps/authenticator/OtpSource;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 32 16-bit code units │ │ -00d4e8: |[00d4e8] com.google.android.apps.authenticator.testability.DependencyInjector.getOtpProvider:()Lcom/google/android/apps/authenticator/OtpSource; │ │ -00d4f8: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d4fc: 1d01 |0002: monitor-enter v1 │ │ -00d4fe: 6200 c400 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ -00d502: 3900 1400 |0005: if-nez v0, 0019 // +0014 │ │ -00d506: 7100 6802 0000 |0007: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ -00d50c: 0c00 |000a: move-result-object v0 │ │ -00d50e: 7100 6402 0000 |000b: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ -00d514: 0c02 |000e: move-result-object v2 │ │ -00d516: 7100 6c02 0000 |000f: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; // method@026c │ │ -00d51c: 0c03 |0012: move-result-object v3 │ │ -00d51e: 7230 c501 2003 |0013: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/OptionalFeatures;.createOtpSource:(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)Lcom/google/android/apps/authenticator/OtpSource; // method@01c5 │ │ -00d524: 0c00 |0016: move-result-object v0 │ │ -00d526: 6900 c400 |0017: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ -00d52a: 6200 c400 |0019: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ -00d52e: 1e01 |001b: monitor-exit v1 │ │ -00d530: 1100 |001c: return-object v0 │ │ -00d532: 0d00 |001d: move-exception v0 │ │ -00d534: 1e01 |001e: monitor-exit v1 │ │ -00d536: 2700 |001f: throw v0 │ │ +00d074: |[00d074] com.google.android.apps.authenticator.testability.DependencyInjector.getOtpProvider:()Lcom/google/android/apps/authenticator/OtpSource; │ │ +00d084: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d088: 1d01 |0002: monitor-enter v1 │ │ +00d08a: 6200 c400 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ +00d08e: 3900 1400 |0005: if-nez v0, 0019 // +0014 │ │ +00d092: 7100 6802 0000 |0007: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00d098: 0c00 |000a: move-result-object v0 │ │ +00d09a: 7100 6402 0000 |000b: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ +00d0a0: 0c02 |000e: move-result-object v2 │ │ +00d0a2: 7100 6c02 0000 |000f: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; // method@026c │ │ +00d0a8: 0c03 |0012: move-result-object v3 │ │ +00d0aa: 7230 c501 2003 |0013: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/OptionalFeatures;.createOtpSource:(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)Lcom/google/android/apps/authenticator/OtpSource; // method@01c5 │ │ +00d0b0: 0c00 |0016: move-result-object v0 │ │ +00d0b2: 6900 c400 |0017: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ +00d0b6: 6200 c400 |0019: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ +00d0ba: 1e01 |001b: monitor-exit v1 │ │ +00d0bc: 1100 |001c: return-object v0 │ │ +00d0be: 0d00 |001d: move-exception v0 │ │ +00d0c0: 1e01 |001e: monitor-exit v1 │ │ +00d0c2: 2700 |001f: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x001b │ │ -> 0x001d │ │ positions : │ │ 0x0000 line=115 │ │ 0x0007 line=116 │ │ 0x0019 line=118 │ │ @@ -15628,30 +9493,30 @@ │ │ type : '()Landroid/content/pm/PackageManager;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 24 16-bit code units │ │ -00d544: |[00d544] com.google.android.apps.authenticator.testability.DependencyInjector.getPackageManager:()Landroid/content/pm/PackageManager; │ │ -00d554: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d558: 1d01 |0002: monitor-enter v1 │ │ -00d55a: 6200 c500 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ -00d55e: 3900 0c00 |0005: if-nez v0, 0011 // +000c │ │ -00d562: 7100 6502 0000 |0007: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getContext:()Landroid/content/Context; // method@0265 │ │ -00d568: 0c00 |000a: move-result-object v0 │ │ -00d56a: 6e10 2500 0000 |000b: invoke-virtual {v0}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0025 │ │ -00d570: 0c00 |000e: move-result-object v0 │ │ -00d572: 6900 c500 |000f: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ -00d576: 6200 c500 |0011: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ -00d57a: 1e01 |0013: monitor-exit v1 │ │ -00d57c: 1100 |0014: return-object v0 │ │ -00d57e: 0d00 |0015: move-exception v0 │ │ -00d580: 1e01 |0016: monitor-exit v1 │ │ -00d582: 2700 |0017: throw v0 │ │ +00d0d0: |[00d0d0] com.google.android.apps.authenticator.testability.DependencyInjector.getPackageManager:()Landroid/content/pm/PackageManager; │ │ +00d0e0: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d0e4: 1d01 |0002: monitor-enter v1 │ │ +00d0e6: 6200 c500 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ +00d0ea: 3900 0c00 |0005: if-nez v0, 0011 // +000c │ │ +00d0ee: 7100 6502 0000 |0007: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getContext:()Landroid/content/Context; // method@0265 │ │ +00d0f4: 0c00 |000a: move-result-object v0 │ │ +00d0f6: 6e10 2500 0000 |000b: invoke-virtual {v0}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0025 │ │ +00d0fc: 0c00 |000e: move-result-object v0 │ │ +00d0fe: 6900 c500 |000f: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ +00d102: 6200 c500 |0011: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ +00d106: 1e01 |0013: monitor-exit v1 │ │ +00d108: 1100 |0014: return-object v0 │ │ +00d10a: 0d00 |0015: move-exception v0 │ │ +00d10c: 1e01 |0016: monitor-exit v1 │ │ +00d10e: 2700 |0017: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x0013 │ │ -> 0x0015 │ │ positions : │ │ 0x0000 line=145 │ │ 0x0007 line=146 │ │ 0x0011 line=148 │ │ @@ -15663,23 +9528,23 @@ │ │ type : '()Lcom/google/android/apps/authenticator/testability/StartActivityListener;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -00d590: |[00d590] com.google.android.apps.authenticator.testability.DependencyInjector.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ -00d5a0: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d5a4: 1d00 |0002: monitor-enter v0 │ │ -00d5a6: 6201 c600 |0003: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sStartActivityListener:Lcom/google/android/apps/authenticator/testability/StartActivityListener; // field@00c6 │ │ -00d5aa: 1e00 |0005: monitor-exit v0 │ │ -00d5ac: 1101 |0006: return-object v1 │ │ -00d5ae: 0d01 |0007: move-exception v1 │ │ -00d5b0: 1e00 |0008: monitor-exit v0 │ │ -00d5b2: 2701 |0009: throw v1 │ │ +00d11c: |[00d11c] com.google.android.apps.authenticator.testability.DependencyInjector.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ +00d12c: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d130: 1d00 |0002: monitor-enter v0 │ │ +00d132: 6201 c600 |0003: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sStartActivityListener:Lcom/google/android/apps/authenticator/testability/StartActivityListener; // field@00c6 │ │ +00d136: 1e00 |0005: monitor-exit v0 │ │ +00d138: 1101 |0006: return-object v1 │ │ +00d13a: 0d01 |0007: move-exception v1 │ │ +00d13c: 1e00 |0008: monitor-exit v0 │ │ +00d13e: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0000 line=161 │ │ locals : │ │ │ │ @@ -15688,30 +9553,30 @@ │ │ type : '()Lcom/google/android/apps/authenticator/TotpClock;' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 25 16-bit code units │ │ -00d5c0: |[00d5c0] com.google.android.apps.authenticator.testability.DependencyInjector.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; │ │ -00d5d0: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d5d4: 1d01 |0002: monitor-enter v1 │ │ -00d5d6: 6200 c700 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ -00d5da: 3900 0d00 |0005: if-nez v0, 0012 // +000d │ │ -00d5de: 2200 9000 |0007: new-instance v0, Lcom/google/android/apps/authenticator/TotpClock; // type@0090 │ │ -00d5e2: 7100 6502 0000 |0009: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getContext:()Landroid/content/Context; // method@0265 │ │ -00d5e8: 0c02 |000c: move-result-object v2 │ │ -00d5ea: 7020 ff01 2000 |000d: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/TotpClock;.:(Landroid/content/Context;)V // method@01ff │ │ -00d5f0: 6900 c700 |0010: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ -00d5f4: 6200 c700 |0012: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ -00d5f8: 1e01 |0014: monitor-exit v1 │ │ -00d5fa: 1100 |0015: return-object v0 │ │ -00d5fc: 0d00 |0016: move-exception v0 │ │ -00d5fe: 1e01 |0017: monitor-exit v1 │ │ -00d600: 2700 |0018: throw v0 │ │ +00d14c: |[00d14c] com.google.android.apps.authenticator.testability.DependencyInjector.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; │ │ +00d15c: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d160: 1d01 |0002: monitor-enter v1 │ │ +00d162: 6200 c700 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ +00d166: 3900 0d00 |0005: if-nez v0, 0012 // +000d │ │ +00d16a: 2200 9000 |0007: new-instance v0, Lcom/google/android/apps/authenticator/TotpClock; // type@0090 │ │ +00d16e: 7100 6502 0000 |0009: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getContext:()Landroid/content/Context; // method@0265 │ │ +00d174: 0c02 |000c: move-result-object v2 │ │ +00d176: 7020 ff01 2000 |000d: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/TotpClock;.:(Landroid/content/Context;)V // method@01ff │ │ +00d17c: 6900 c700 |0010: sput-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ +00d180: 6200 c700 |0012: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ +00d184: 1e01 |0014: monitor-exit v1 │ │ +00d186: 1100 |0015: return-object v0 │ │ +00d188: 0d00 |0016: move-exception v0 │ │ +00d18a: 1e01 |0017: monitor-exit v1 │ │ +00d18c: 2700 |0018: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x0014 │ │ -> 0x0016 │ │ positions : │ │ 0x0000 line=130 │ │ 0x0007 line=131 │ │ 0x0012 line=133 │ │ @@ -15723,46 +9588,46 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 61 16-bit code units │ │ -00d610: |[00d610] com.google.android.apps.authenticator.testability.DependencyInjector.resetForIntegrationTesting:(Landroid/content/Context;)V │ │ -00d620: 1c02 a600 |0000: const-class v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d624: 1d02 |0002: monitor-enter v2 │ │ -00d626: 3904 0d00 |0003: if-nez v4, 0010 // +000d │ │ -00d62a: 2201 f100 |0005: new-instance v1, Ljava/lang/NullPointerException; // type@00f1 │ │ -00d62e: 1a03 9003 |0007: const-string v3, "context == null" // string@0390 │ │ -00d632: 7020 3903 3100 |0009: invoke-direct {v1, v3}, Ljava/lang/NullPointerException;.:(Ljava/lang/String;)V // method@0339 │ │ -00d638: 2701 |000c: throw v1 │ │ -00d63a: 0d01 |000d: move-exception v1 │ │ -00d63c: 1e02 |000e: monitor-exit v2 │ │ -00d63e: 2701 |000f: throw v1 │ │ -00d640: 7100 6202 0000 |0010: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.close:()V // method@0262 │ │ -00d646: 6201 bc00 |0013: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.INTEGRATION_TEST:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bc │ │ -00d64a: 6901 c200 |0015: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ -00d64e: 2200 3c00 |0017: new-instance v0, Landroid/test/RenamingDelegatingContext; // type@003c │ │ -00d652: 1a01 8406 |0019: const-string v1, "test_" // string@0684 │ │ -00d656: 7030 9200 4001 |001b: invoke-direct {v0, v4, v1}, Landroid/test/RenamingDelegatingContext;.:(Landroid/content/Context;Ljava/lang/String;)V // method@0092 │ │ -00d65c: 6e10 9300 0000 |001e: invoke-virtual {v0}, Landroid/test/RenamingDelegatingContext;.makeExistingFilesAndDbsAccessible:()V // method@0093 │ │ -00d662: 2201 a800 |0021: new-instance v1, Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext; // type@00a8 │ │ -00d666: 1a03 8406 |0023: const-string v3, "test_" // string@0684 │ │ -00d66a: 7030 7b02 0103 |0025: invoke-direct {v1, v0, v3}, Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext;.:(Landroid/content/Context;Ljava/lang/String;)V // method@027b │ │ -00d670: 6901 bf00 |0028: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ -00d674: 6201 bf00 |002a: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ -00d678: 7110 9100 0100 |002c: invoke-static {v1}, Landroid/preference/PreferenceManager;.getDefaultSharedPreferences:(Landroid/content/Context;)Landroid/content/SharedPreferences; // method@0091 │ │ -00d67e: 0c01 |002f: move-result-object v1 │ │ -00d680: 7210 4400 0100 |0030: invoke-interface {v1}, Landroid/content/SharedPreferences;.edit:()Landroid/content/SharedPreferences$Editor; // method@0044 │ │ -00d686: 0c01 |0033: move-result-object v1 │ │ -00d688: 7210 3d00 0100 |0034: invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;.clear:()Landroid/content/SharedPreferences$Editor; // method@003d │ │ -00d68e: 0c01 |0037: move-result-object v1 │ │ -00d690: 7210 3e00 0100 |0038: invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;.commit:()Z // method@003e │ │ -00d696: 1e02 |003b: monitor-exit v2 │ │ -00d698: 0e00 |003c: return-void │ │ +00d19c: |[00d19c] com.google.android.apps.authenticator.testability.DependencyInjector.resetForIntegrationTesting:(Landroid/content/Context;)V │ │ +00d1ac: 1c02 a600 |0000: const-class v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d1b0: 1d02 |0002: monitor-enter v2 │ │ +00d1b2: 3904 0d00 |0003: if-nez v4, 0010 // +000d │ │ +00d1b6: 2201 f100 |0005: new-instance v1, Ljava/lang/NullPointerException; // type@00f1 │ │ +00d1ba: 1a03 8c03 |0007: const-string v3, "context == null" // string@038c │ │ +00d1be: 7020 3903 3100 |0009: invoke-direct {v1, v3}, Ljava/lang/NullPointerException;.:(Ljava/lang/String;)V // method@0339 │ │ +00d1c4: 2701 |000c: throw v1 │ │ +00d1c6: 0d01 |000d: move-exception v1 │ │ +00d1c8: 1e02 |000e: monitor-exit v2 │ │ +00d1ca: 2701 |000f: throw v1 │ │ +00d1cc: 7100 6202 0000 |0010: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.close:()V // method@0262 │ │ +00d1d2: 6201 bc00 |0013: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode;.INTEGRATION_TEST:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00bc │ │ +00d1d6: 6901 c200 |0015: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sMode:Lcom/google/android/apps/authenticator/testability/DependencyInjector$Mode; // field@00c2 │ │ +00d1da: 2200 3c00 |0017: new-instance v0, Landroid/test/RenamingDelegatingContext; // type@003c │ │ +00d1de: 1a01 7e06 |0019: const-string v1, "test_" // string@067e │ │ +00d1e2: 7030 9200 4001 |001b: invoke-direct {v0, v4, v1}, Landroid/test/RenamingDelegatingContext;.:(Landroid/content/Context;Ljava/lang/String;)V // method@0092 │ │ +00d1e8: 6e10 9300 0000 |001e: invoke-virtual {v0}, Landroid/test/RenamingDelegatingContext;.makeExistingFilesAndDbsAccessible:()V // method@0093 │ │ +00d1ee: 2201 a800 |0021: new-instance v1, Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext; // type@00a8 │ │ +00d1f2: 1a03 7e06 |0023: const-string v3, "test_" // string@067e │ │ +00d1f6: 7030 7b02 0103 |0025: invoke-direct {v1, v0, v3}, Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext;.:(Landroid/content/Context;Ljava/lang/String;)V // method@027b │ │ +00d1fc: 6901 bf00 |0028: sput-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ +00d200: 6201 bf00 |002a: sget-object v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sContext:Landroid/content/Context; // field@00bf │ │ +00d204: 7110 9100 0100 |002c: invoke-static {v1}, Landroid/preference/PreferenceManager;.getDefaultSharedPreferences:(Landroid/content/Context;)Landroid/content/SharedPreferences; // method@0091 │ │ +00d20a: 0c01 |002f: move-result-object v1 │ │ +00d20c: 7210 4400 0100 |0030: invoke-interface {v1}, Landroid/content/SharedPreferences;.edit:()Landroid/content/SharedPreferences$Editor; // method@0044 │ │ +00d212: 0c01 |0033: move-result-object v1 │ │ +00d214: 7210 3d00 0100 |0034: invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;.clear:()Landroid/content/SharedPreferences$Editor; // method@003d │ │ +00d21a: 0c01 |0037: move-result-object v1 │ │ +00d21c: 7210 3e00 0100 |0038: invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;.commit:()Z // method@003e │ │ +00d222: 1e02 |003b: monitor-exit v2 │ │ +00d224: 0e00 |003c: return-void │ │ catches : 2 │ │ 0x0005 - 0x000d │ │ -> 0x000d │ │ 0x0010 - 0x003b │ │ -> 0x000d │ │ positions : │ │ 0x0000 line=244 │ │ @@ -15784,27 +9649,27 @@ │ │ type : '(Lcom/google/android/apps/authenticator/AccountDb;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 19 16-bit code units │ │ -00d6b0: |[00d6b0] com.google.android.apps.authenticator.testability.DependencyInjector.setAccountDb:(Lcom/google/android/apps/authenticator/AccountDb;)V │ │ -00d6c0: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d6c4: 1d01 |0002: monitor-enter v1 │ │ -00d6c6: 6200 be00 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d6ca: 3800 0700 |0005: if-eqz v0, 000c // +0007 │ │ -00d6ce: 6200 be00 |0007: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d6d2: 6e10 dd00 0000 |0009: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AccountDb;.close:()V // method@00dd │ │ -00d6d8: 6902 be00 |000c: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ -00d6dc: 1e01 |000e: monitor-exit v1 │ │ -00d6de: 0e00 |000f: return-void │ │ -00d6e0: 0d00 |0010: move-exception v0 │ │ -00d6e2: 1e01 |0011: monitor-exit v1 │ │ -00d6e4: 2700 |0012: throw v0 │ │ +00d23c: |[00d23c] com.google.android.apps.authenticator.testability.DependencyInjector.setAccountDb:(Lcom/google/android/apps/authenticator/AccountDb;)V │ │ +00d24c: 1c01 a600 |0000: const-class v1, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d250: 1d01 |0002: monitor-enter v1 │ │ +00d252: 6200 be00 |0003: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00d256: 3800 0700 |0005: if-eqz v0, 000c // +0007 │ │ +00d25a: 6200 be00 |0007: sget-object v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00d25e: 6e10 dd00 0000 |0009: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AccountDb;.close:()V // method@00dd │ │ +00d264: 6902 be00 |000c: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@00be │ │ +00d268: 1e01 |000e: monitor-exit v1 │ │ +00d26a: 0e00 |000f: return-void │ │ +00d26c: 0d00 |0010: move-exception v0 │ │ +00d26e: 1e01 |0011: monitor-exit v1 │ │ +00d270: 2700 |0012: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x000e │ │ -> 0x0010 │ │ positions : │ │ 0x0000 line=90 │ │ 0x0007 line=91 │ │ 0x000c line=93 │ │ @@ -15818,23 +9683,23 @@ │ │ type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -00d6f4: |[00d6f4] com.google.android.apps.authenticator.testability.DependencyInjector.setDataImportController:(Lcom/google/android/apps/authenticator/dataimport/ImportController;)V │ │ -00d704: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d708: 1d00 |0002: monitor-enter v0 │ │ -00d70a: 6902 c100 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ -00d70e: 1e00 |0005: monitor-exit v0 │ │ -00d710: 0e00 |0006: return-void │ │ -00d712: 0d01 |0007: move-exception v1 │ │ -00d714: 1e00 |0008: monitor-exit v0 │ │ -00d716: 2701 |0009: throw v1 │ │ +00d280: |[00d280] com.google.android.apps.authenticator.testability.DependencyInjector.setDataImportController:(Lcom/google/android/apps/authenticator/dataimport/ImportController;)V │ │ +00d290: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d294: 1d00 |0002: monitor-enter v0 │ │ +00d296: 6902 c100 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sImportController:Lcom/google/android/apps/authenticator/dataimport/ImportController; // field@00c1 │ │ +00d29a: 1e00 |0005: monitor-exit v0 │ │ +00d29c: 0e00 |0006: return-void │ │ +00d29e: 0d01 |0007: move-exception v1 │ │ +00d2a0: 1e00 |0008: monitor-exit v0 │ │ +00d2a2: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0000 line=169 │ │ 0x0005 line=170 │ │ 0x0007 line=169 │ │ @@ -15846,23 +9711,23 @@ │ │ type : '(Lorg/apache/http/client/HttpClient;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -00d724: |[00d724] com.google.android.apps.authenticator.testability.DependencyInjector.setHttpClient:(Lorg/apache/http/client/HttpClient;)V │ │ -00d734: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d738: 1d00 |0002: monitor-enter v0 │ │ -00d73a: 6902 c000 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ -00d73e: 1e00 |0005: monitor-exit v0 │ │ -00d740: 0e00 |0006: return-void │ │ -00d742: 0d01 |0007: move-exception v1 │ │ -00d744: 1e00 |0008: monitor-exit v0 │ │ -00d746: 2701 |0009: throw v1 │ │ +00d2b0: |[00d2b0] com.google.android.apps.authenticator.testability.DependencyInjector.setHttpClient:(Lorg/apache/http/client/HttpClient;)V │ │ +00d2c0: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d2c4: 1d00 |0002: monitor-enter v0 │ │ +00d2c6: 6902 c000 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sHttpClient:Lorg/apache/http/client/HttpClient; // field@00c0 │ │ +00d2ca: 1e00 |0005: monitor-exit v0 │ │ +00d2cc: 0e00 |0006: return-void │ │ +00d2ce: 0d01 |0007: move-exception v1 │ │ +00d2d0: 1e00 |0008: monitor-exit v0 │ │ +00d2d2: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0000 line=193 │ │ 0x0005 line=194 │ │ 0x0007 line=193 │ │ @@ -15874,23 +9739,23 @@ │ │ type : '(Lcom/google/android/apps/authenticator/OptionalFeatures;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -00d754: |[00d754] com.google.android.apps.authenticator.testability.DependencyInjector.setOptionalFeatures:(Lcom/google/android/apps/authenticator/OptionalFeatures;)V │ │ -00d764: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d768: 1d00 |0002: monitor-enter v0 │ │ -00d76a: 6902 c300 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ -00d76e: 1e00 |0005: monitor-exit v0 │ │ -00d770: 0e00 |0006: return-void │ │ -00d772: 0d01 |0007: move-exception v1 │ │ -00d774: 1e00 |0008: monitor-exit v0 │ │ -00d776: 2701 |0009: throw v1 │ │ +00d2e0: |[00d2e0] com.google.android.apps.authenticator.testability.DependencyInjector.setOptionalFeatures:(Lcom/google/android/apps/authenticator/OptionalFeatures;)V │ │ +00d2f0: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d2f4: 1d00 |0002: monitor-enter v0 │ │ +00d2f6: 6902 c300 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOptionalFeatures:Lcom/google/android/apps/authenticator/OptionalFeatures; // field@00c3 │ │ +00d2fa: 1e00 |0005: monitor-exit v0 │ │ +00d2fc: 0e00 |0006: return-void │ │ +00d2fe: 0d01 |0007: move-exception v1 │ │ +00d300: 1e00 |0008: monitor-exit v0 │ │ +00d302: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0000 line=204 │ │ 0x0005 line=205 │ │ 0x0007 line=204 │ │ @@ -15902,23 +9767,23 @@ │ │ type : '(Lcom/google/android/apps/authenticator/OtpSource;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -00d784: |[00d784] com.google.android.apps.authenticator.testability.DependencyInjector.setOtpProvider:(Lcom/google/android/apps/authenticator/OtpSource;)V │ │ -00d794: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d798: 1d00 |0002: monitor-enter v0 │ │ -00d79a: 6902 c400 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ -00d79e: 1e00 |0005: monitor-exit v0 │ │ -00d7a0: 0e00 |0006: return-void │ │ -00d7a2: 0d01 |0007: move-exception v1 │ │ -00d7a4: 1e00 |0008: monitor-exit v0 │ │ -00d7a6: 2701 |0009: throw v1 │ │ +00d310: |[00d310] com.google.android.apps.authenticator.testability.DependencyInjector.setOtpProvider:(Lcom/google/android/apps/authenticator/OtpSource;)V │ │ +00d320: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d324: 1d00 |0002: monitor-enter v0 │ │ +00d326: 6902 c400 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@00c4 │ │ +00d32a: 1e00 |0005: monitor-exit v0 │ │ +00d32c: 0e00 |0006: return-void │ │ +00d32e: 0d01 |0007: move-exception v1 │ │ +00d330: 1e00 |0008: monitor-exit v0 │ │ +00d332: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0000 line=111 │ │ 0x0005 line=112 │ │ 0x0007 line=111 │ │ @@ -15930,23 +9795,23 @@ │ │ type : '(Landroid/content/pm/PackageManager;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -00d7b4: |[00d7b4] com.google.android.apps.authenticator.testability.DependencyInjector.setPackageManager:(Landroid/content/pm/PackageManager;)V │ │ -00d7c4: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d7c8: 1d00 |0002: monitor-enter v0 │ │ -00d7ca: 6902 c500 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ -00d7ce: 1e00 |0005: monitor-exit v0 │ │ -00d7d0: 0e00 |0006: return-void │ │ -00d7d2: 0d01 |0007: move-exception v1 │ │ -00d7d4: 1e00 |0008: monitor-exit v0 │ │ -00d7d6: 2701 |0009: throw v1 │ │ +00d340: |[00d340] com.google.android.apps.authenticator.testability.DependencyInjector.setPackageManager:(Landroid/content/pm/PackageManager;)V │ │ +00d350: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d354: 1d00 |0002: monitor-enter v0 │ │ +00d356: 6902 c500 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sPackageManager:Landroid/content/pm/PackageManager; // field@00c5 │ │ +00d35a: 1e00 |0005: monitor-exit v0 │ │ +00d35c: 0e00 |0006: return-void │ │ +00d35e: 0d01 |0007: move-exception v1 │ │ +00d360: 1e00 |0008: monitor-exit v0 │ │ +00d362: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0000 line=141 │ │ 0x0005 line=142 │ │ 0x0007 line=141 │ │ @@ -15958,23 +9823,23 @@ │ │ type : '(Lcom/google/android/apps/authenticator/testability/StartActivityListener;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -00d7e4: |[00d7e4] com.google.android.apps.authenticator.testability.DependencyInjector.setStartActivityListener:(Lcom/google/android/apps/authenticator/testability/StartActivityListener;)V │ │ -00d7f4: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d7f8: 1d00 |0002: monitor-enter v0 │ │ -00d7fa: 6902 c600 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sStartActivityListener:Lcom/google/android/apps/authenticator/testability/StartActivityListener; // field@00c6 │ │ -00d7fe: 1e00 |0005: monitor-exit v0 │ │ -00d800: 0e00 |0006: return-void │ │ -00d802: 0d01 |0007: move-exception v1 │ │ -00d804: 1e00 |0008: monitor-exit v0 │ │ -00d806: 2701 |0009: throw v1 │ │ +00d370: |[00d370] com.google.android.apps.authenticator.testability.DependencyInjector.setStartActivityListener:(Lcom/google/android/apps/authenticator/testability/StartActivityListener;)V │ │ +00d380: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d384: 1d00 |0002: monitor-enter v0 │ │ +00d386: 6902 c600 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sStartActivityListener:Lcom/google/android/apps/authenticator/testability/StartActivityListener; // field@00c6 │ │ +00d38a: 1e00 |0005: monitor-exit v0 │ │ +00d38c: 0e00 |0006: return-void │ │ +00d38e: 0d01 |0007: move-exception v1 │ │ +00d390: 1e00 |0008: monitor-exit v0 │ │ +00d392: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0000 line=155 │ │ 0x0005 line=156 │ │ 0x0007 line=155 │ │ @@ -15986,51 +9851,51 @@ │ │ type : '(Lcom/google/android/apps/authenticator/TotpClock;)V' │ │ access : 0x20009 (PUBLIC STATIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 10 16-bit code units │ │ -00d814: |[00d814] com.google.android.apps.authenticator.testability.DependencyInjector.setTotpClock:(Lcom/google/android/apps/authenticator/TotpClock;)V │ │ -00d824: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ -00d828: 1d00 |0002: monitor-enter v0 │ │ -00d82a: 6902 c700 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ -00d82e: 1e00 |0005: monitor-exit v0 │ │ -00d830: 0e00 |0006: return-void │ │ -00d832: 0d01 |0007: move-exception v1 │ │ -00d834: 1e00 |0008: monitor-exit v0 │ │ -00d836: 2701 |0009: throw v1 │ │ +00d3a0: |[00d3a0] com.google.android.apps.authenticator.testability.DependencyInjector.setTotpClock:(Lcom/google/android/apps/authenticator/TotpClock;)V │ │ +00d3b0: 1c00 a600 |0000: const-class v0, Lcom/google/android/apps/authenticator/testability/DependencyInjector; // type@00a6 │ │ +00d3b4: 1d00 |0002: monitor-enter v0 │ │ +00d3b6: 6902 c700 |0003: sput-object v2, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.sTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00c7 │ │ +00d3ba: 1e00 |0005: monitor-exit v0 │ │ +00d3bc: 0e00 |0006: return-void │ │ +00d3be: 0d01 |0007: move-exception v1 │ │ +00d3c0: 1e00 |0008: monitor-exit v0 │ │ +00d3c2: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0000 line=126 │ │ 0x0005 line=127 │ │ 0x0007 line=126 │ │ locals : │ │ 0x0000 - 0x000a reg=2 totpClock Lcom/google/android/apps/authenticator/TotpClock; │ │ │ │ Virtual methods - │ │ source_file_idx : 122 (DependencyInjector.java) │ │ │ │ -Class #76 header: │ │ +Class #54 header: │ │ class_idx : 167 │ │ access_flags : 16 (0x0010) │ │ superclass_idx : 243 │ │ source_file_idx : 157 │ │ static_fields_size : 3 │ │ instance_fields_size: 0 │ │ direct_methods_size : 5 │ │ virtual_methods_size: 0 │ │ │ │ -Class #76 annotations: │ │ +Class #54 annotations: │ │ Annotations on method #634 'createHttpClientForFroyoAndHigher' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/ClassNotFoundException; Ljava/lang/NoSuchMethodException; Ljava/lang/IllegalAccessException; Ljava/lang/reflect/InvocationTargetException; } │ │ │ │ -Class #76 - │ │ +Class #54 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/testability/HttpClientFactory;' │ │ Access flags : 0x0010 (FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/testability/HttpClientFactory;) │ │ name : 'DEFAULT_CONNECT_TIMEOUT_MILLIS' │ │ @@ -16054,87 +9919,87 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00d844: |[00d844] com.google.android.apps.authenticator.testability.HttpClientFactory.:()V │ │ -00d854: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00d85a: 0e00 |0003: return-void │ │ +00d3d0: |[00d3d0] com.google.android.apps.authenticator.testability.HttpClientFactory.:()V │ │ +00d3e0: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00d3e6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=53 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/testability/HttpClientFactory; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/testability/HttpClientFactory;) │ │ name : 'configureHttpClient' │ │ type : '(Lorg/apache/http/client/HttpClient;)V' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ - registers : 5 │ │ + registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 33 16-bit code units │ │ -00d85c: |[00d85c] com.google.android.apps.authenticator.testability.HttpClientFactory.configureHttpClient:(Lorg/apache/http/client/HttpClient;)V │ │ -00d86c: 1301 204e |0000: const/16 v1, #int 20000 // #4e20 │ │ -00d870: 1203 |0002: const/4 v3, #int 0 // #0 │ │ -00d872: 7210 8503 0400 |0003: invoke-interface {v4}, Lorg/apache/http/client/HttpClient;.getParams:()Lorg/apache/http/params/HttpParams; // method@0385 │ │ -00d878: 0c00 |0006: move-result-object v0 │ │ -00d87a: 7120 9203 3000 |0007: invoke-static {v0, v3}, Lorg/apache/http/params/HttpConnectionParams;.setStaleCheckingEnabled:(Lorg/apache/http/params/HttpParams;Z)V // method@0392 │ │ -00d880: 7120 8f03 1000 |000a: invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;.setConnectionTimeout:(Lorg/apache/http/params/HttpParams;I)V // method@038f │ │ -00d886: 7120 9003 1000 |000d: invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;.setSoTimeout:(Lorg/apache/http/params/HttpParams;I)V // method@0390 │ │ -00d88c: 1301 0020 |0010: const/16 v1, #int 8192 // #2000 │ │ -00d890: 7120 9103 1000 |0012: invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;.setSocketBufferSize:(Lorg/apache/http/params/HttpParams;I)V // method@0391 │ │ -00d896: 1601 204e |0015: const-wide/16 v1, #int 20000 // #4e20 │ │ -00d89a: 7130 8b03 1002 |0017: invoke-static {v0, v1, v2}, Lorg/apache/http/conn/params/ConnManagerParams;.setTimeout:(Lorg/apache/http/params/HttpParams;J)V // method@038b │ │ -00d8a0: 7120 8903 3000 |001a: invoke-static {v0, v3}, Lorg/apache/http/client/params/HttpClientParams;.setRedirecting:(Lorg/apache/http/params/HttpParams;Z)V // method@0389 │ │ -00d8a6: 7120 8803 3000 |001d: invoke-static {v0, v3}, Lorg/apache/http/client/params/HttpClientParams;.setAuthenticating:(Lorg/apache/http/params/HttpParams;Z)V // method@0388 │ │ -00d8ac: 0e00 |0020: return-void │ │ +00d3e8: |[00d3e8] com.google.android.apps.authenticator.testability.HttpClientFactory.configureHttpClient:(Lorg/apache/http/client/HttpClient;)V │ │ +00d3f8: 1301 204e |0000: const/16 v1, #int 20000 // #4e20 │ │ +00d3fc: 1204 |0002: const/4 v4, #int 0 // #0 │ │ +00d3fe: 7210 8503 0500 |0003: invoke-interface {v5}, Lorg/apache/http/client/HttpClient;.getParams:()Lorg/apache/http/params/HttpParams; // method@0385 │ │ +00d404: 0c00 |0006: move-result-object v0 │ │ +00d406: 7120 9203 4000 |0007: invoke-static {v0, v4}, Lorg/apache/http/params/HttpConnectionParams;.setStaleCheckingEnabled:(Lorg/apache/http/params/HttpParams;Z)V // method@0392 │ │ +00d40c: 7120 8f03 1000 |000a: invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;.setConnectionTimeout:(Lorg/apache/http/params/HttpParams;I)V // method@038f │ │ +00d412: 7120 9003 1000 |000d: invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;.setSoTimeout:(Lorg/apache/http/params/HttpParams;I)V // method@0390 │ │ +00d418: 1301 0020 |0010: const/16 v1, #int 8192 // #2000 │ │ +00d41c: 7120 9103 1000 |0012: invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;.setSocketBufferSize:(Lorg/apache/http/params/HttpParams;I)V // method@0391 │ │ +00d422: 1602 204e |0015: const-wide/16 v2, #int 20000 // #4e20 │ │ +00d426: 7130 8b03 2003 |0017: invoke-static {v0, v2, v3}, Lorg/apache/http/conn/params/ConnManagerParams;.setTimeout:(Lorg/apache/http/params/HttpParams;J)V // method@038b │ │ +00d42c: 7120 8903 4000 |001a: invoke-static {v0, v4}, Lorg/apache/http/client/params/HttpClientParams;.setRedirecting:(Lorg/apache/http/params/HttpParams;Z)V // method@0389 │ │ +00d432: 7120 8803 4000 |001d: invoke-static {v0, v4}, Lorg/apache/http/client/params/HttpClientParams;.setAuthenticating:(Lorg/apache/http/params/HttpParams;Z)V // method@0388 │ │ +00d438: 0e00 |0020: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=78 │ │ 0x0007 line=79 │ │ 0x000a line=80 │ │ 0x000d line=81 │ │ 0x0010 line=82 │ │ 0x0015 line=83 │ │ 0x001a line=86 │ │ 0x001d line=89 │ │ 0x0020 line=90 │ │ locals : │ │ 0x0007 - 0x0021 reg=0 params Lorg/apache/http/params/HttpParams; │ │ - 0x0000 - 0x0021 reg=4 httpClient Lorg/apache/http/client/HttpClient; │ │ + 0x0000 - 0x0021 reg=5 httpClient Lorg/apache/http/client/HttpClient; │ │ │ │ #2 : (in Lcom/google/android/apps/authenticator/testability/HttpClientFactory;) │ │ name : 'createHttpClient' │ │ type : '(Landroid/content/Context;)Lorg/apache/http/client/HttpClient;' │ │ access : 0x0008 (STATIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 27 16-bit code units │ │ -00d8b0: |[00d8b0] com.google.android.apps.authenticator.testability.HttpClientFactory.createHttpClient:(Landroid/content/Context;)Lorg/apache/http/client/HttpClient; │ │ -00d8c0: 6002 0400 |0000: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0004 │ │ -00d8c4: 1273 |0002: const/4 v3, #int 7 // #7 │ │ -00d8c6: 3732 1300 |0003: if-le v2, v3, 0016 // +0013 │ │ -00d8ca: 7110 7a02 0400 |0005: invoke-static {v4}, Lcom/google/android/apps/authenticator/testability/HttpClientFactory;.createHttpClientForFroyoAndHigher:(Landroid/content/Context;)Lorg/apache/http/client/HttpClient; // method@027a │ │ -00d8d0: 0c00 |0008: move-result-object v0 │ │ -00d8d2: 7110 7702 0000 |0009: invoke-static {v0}, Lcom/google/android/apps/authenticator/testability/HttpClientFactory;.configureHttpClient:(Lorg/apache/http/client/HttpClient;)V // method@0277 │ │ -00d8d8: 1100 |000c: return-object v0 │ │ -00d8da: 0d01 |000d: move-exception v1 │ │ -00d8dc: 2202 f600 |000e: new-instance v2, Ljava/lang/RuntimeException; // type@00f6 │ │ -00d8e0: 1a03 8600 |0010: const-string v3, "Failed to create HttpClient" // string@0086 │ │ -00d8e4: 7030 4003 3201 |0012: invoke-direct {v2, v3, v1}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0340 │ │ -00d8ea: 2702 |0015: throw v2 │ │ -00d8ec: 7100 7902 0000 |0016: invoke-static {}, Lcom/google/android/apps/authenticator/testability/HttpClientFactory;.createHttpClientForEclair:()Lorg/apache/http/client/HttpClient; // method@0279 │ │ -00d8f2: 0c00 |0019: move-result-object v0 │ │ -00d8f4: 28ef |001a: goto 0009 // -0011 │ │ +00d43c: |[00d43c] com.google.android.apps.authenticator.testability.HttpClientFactory.createHttpClient:(Landroid/content/Context;)Lorg/apache/http/client/HttpClient; │ │ +00d44c: 6002 0400 |0000: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0004 │ │ +00d450: 1273 |0002: const/4 v3, #int 7 // #7 │ │ +00d452: 3732 1300 |0003: if-le v2, v3, 0016 // +0013 │ │ +00d456: 7110 7a02 0400 |0005: invoke-static {v4}, Lcom/google/android/apps/authenticator/testability/HttpClientFactory;.createHttpClientForFroyoAndHigher:(Landroid/content/Context;)Lorg/apache/http/client/HttpClient; // method@027a │ │ +00d45c: 0c00 |0008: move-result-object v0 │ │ +00d45e: 7110 7702 0000 |0009: invoke-static {v0}, Lcom/google/android/apps/authenticator/testability/HttpClientFactory;.configureHttpClient:(Lorg/apache/http/client/HttpClient;)V // method@0277 │ │ +00d464: 1100 |000c: return-object v0 │ │ +00d466: 0d01 |000d: move-exception v1 │ │ +00d468: 2202 f600 |000e: new-instance v2, Ljava/lang/RuntimeException; // type@00f6 │ │ +00d46c: 1a03 8600 |0010: const-string v3, "Failed to create HttpClient" // string@0086 │ │ +00d470: 7030 4003 3201 |0012: invoke-direct {v2, v3, v1}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0340 │ │ +00d476: 2702 |0015: throw v2 │ │ +00d478: 7100 7902 0000 |0016: invoke-static {}, Lcom/google/android/apps/authenticator/testability/HttpClientFactory;.createHttpClientForEclair:()Lorg/apache/http/client/HttpClient; // method@0279 │ │ +00d47e: 0c00 |0019: move-result-object v0 │ │ +00d480: 28ef |001a: goto 0009 // -0011 │ │ catches : 1 │ │ 0x0005 - 0x0008 │ │ Ljava/lang/Exception; -> 0x000d │ │ positions : │ │ 0x0000 line=63 │ │ 0x0005 line=65 │ │ 0x0009 line=73 │ │ @@ -16153,83 +10018,85 @@ │ │ type : '()Lorg/apache/http/client/HttpClient;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -00d908: |[00d908] com.google.android.apps.authenticator.testability.HttpClientFactory.createHttpClientForEclair:()Lorg/apache/http/client/HttpClient; │ │ -00d918: 2200 2401 |0000: new-instance v0, Lorg/apache/http/impl/client/DefaultHttpClient; // type@0124 │ │ -00d91c: 2201 2701 |0002: new-instance v1, Lorg/apache/http/params/BasicHttpParams; // type@0127 │ │ -00d920: 7010 8e03 0100 |0004: invoke-direct {v1}, Lorg/apache/http/params/BasicHttpParams;.:()V // method@038e │ │ -00d926: 7020 8c03 1000 |0007: invoke-direct {v0, v1}, Lorg/apache/http/impl/client/DefaultHttpClient;.:(Lorg/apache/http/params/HttpParams;)V // method@038c │ │ -00d92c: 1100 |000a: return-object v0 │ │ +00d494: |[00d494] com.google.android.apps.authenticator.testability.HttpClientFactory.createHttpClientForEclair:()Lorg/apache/http/client/HttpClient; │ │ +00d4a4: 2200 2401 |0000: new-instance v0, Lorg/apache/http/impl/client/DefaultHttpClient; // type@0124 │ │ +00d4a8: 2201 2701 |0002: new-instance v1, Lorg/apache/http/params/BasicHttpParams; // type@0127 │ │ +00d4ac: 7010 8e03 0100 |0004: invoke-direct {v1}, Lorg/apache/http/params/BasicHttpParams;.:()V // method@038e │ │ +00d4b2: 7020 8c03 1000 |0007: invoke-direct {v0, v1}, Lorg/apache/http/impl/client/DefaultHttpClient;.:(Lorg/apache/http/params/HttpParams;)V // method@038c │ │ +00d4b8: 1100 |000a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=113 │ │ locals : │ │ │ │ #4 : (in Lcom/google/android/apps/authenticator/testability/HttpClientFactory;) │ │ name : 'createHttpClientForFroyoAndHigher' │ │ type : '(Landroid/content/Context;)Lorg/apache/http/client/HttpClient;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 43 16-bit code units │ │ -00d930: |[00d930] com.google.android.apps.authenticator.testability.HttpClientFactory.createHttpClientForFroyoAndHigher:(Landroid/content/Context;)Lorg/apache/http/client/HttpClient; │ │ -00d940: 1208 |0000: const/4 v8, #int 0 // #0 │ │ -00d942: 1227 |0001: const/4 v7, #int 2 // #2 │ │ -00d944: 1216 |0002: const/4 v6, #int 1 // #1 │ │ -00d946: 1205 |0003: const/4 v5, #int 0 // #0 │ │ -00d948: 6e10 2300 0900 |0004: invoke-virtual {v9}, Landroid/content/Context;.getClassLoader:()Ljava/lang/ClassLoader; // method@0023 │ │ -00d94e: 0c02 |0007: move-result-object v2 │ │ -00d950: 1a03 1a03 |0008: const-string v3, "android.net.http.AndroidHttpClient" // string@031a │ │ -00d954: 6e20 1d03 3200 |000a: invoke-virtual {v2, v3}, Ljava/lang/ClassLoader;.loadClass:(Ljava/lang/String;)Ljava/lang/Class; // method@031d │ │ -00d95a: 0c00 |000d: move-result-object v0 │ │ -00d95c: 1a02 4405 |000e: const-string v2, "newInstance" // string@0544 │ │ -00d960: 2373 3501 |0010: new-array v3, v7, [Ljava/lang/Class; // type@0135 │ │ -00d964: 1c04 f800 |0012: const-class v4, Ljava/lang/String; // type@00f8 │ │ -00d968: 4d04 0305 |0014: aput-object v4, v3, v5 │ │ -00d96c: 1c04 1100 |0016: const-class v4, Landroid/content/Context; // type@0011 │ │ -00d970: 4d04 0306 |0018: aput-object v4, v3, v6 │ │ -00d974: 6e30 1803 2003 |001a: invoke-virtual {v0, v2, v3}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0318 │ │ -00d97a: 0c01 |001d: move-result-object v1 │ │ -00d97c: 2372 3601 |001e: new-array v2, v7, [Ljava/lang/Object; // type@0136 │ │ -00d980: 4d08 0205 |0020: aput-object v8, v2, v5 │ │ -00d984: 4d09 0206 |0022: aput-object v9, v2, v6 │ │ -00d988: 6e30 6003 8102 |0024: invoke-virtual {v1, v8, v2}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@0360 │ │ -00d98e: 0c02 |0027: move-result-object v2 │ │ -00d990: 1f02 1e01 |0028: check-cast v2, Lorg/apache/http/client/HttpClient; // type@011e │ │ -00d994: 1102 |002a: return-object v2 │ │ +00d4bc: |[00d4bc] com.google.android.apps.authenticator.testability.HttpClientFactory.createHttpClientForFroyoAndHigher:(Landroid/content/Context;)Lorg/apache/http/client/HttpClient; │ │ +00d4cc: 1208 |0000: const/4 v8, #int 0 // #0 │ │ +00d4ce: 1227 |0001: const/4 v7, #int 2 // #2 │ │ +00d4d0: 1216 |0002: const/4 v6, #int 1 // #1 │ │ +00d4d2: 1205 |0003: const/4 v5, #int 0 // #0 │ │ +00d4d4: 6e10 2300 0900 |0004: invoke-virtual {v9}, Landroid/content/Context;.getClassLoader:()Ljava/lang/ClassLoader; // method@0023 │ │ +00d4da: 0c02 |0007: move-result-object v2 │ │ +00d4dc: 1a03 1703 |0008: const-string v3, "android.net.http.AndroidHttpClient" // string@0317 │ │ +00d4e0: 6e20 1d03 3200 |000a: invoke-virtual {v2, v3}, Ljava/lang/ClassLoader;.loadClass:(Ljava/lang/String;)Ljava/lang/Class; // method@031d │ │ +00d4e6: 0c00 |000d: move-result-object v0 │ │ +00d4e8: 1a02 3e05 |000e: const-string v2, "newInstance" // string@053e │ │ +00d4ec: 2373 3501 |0010: new-array v3, v7, [Ljava/lang/Class; // type@0135 │ │ +00d4f0: 1c04 f800 |0012: const-class v4, Ljava/lang/String; // type@00f8 │ │ +00d4f4: 4d04 0305 |0014: aput-object v4, v3, v5 │ │ +00d4f8: 1c04 1100 |0016: const-class v4, Landroid/content/Context; // type@0011 │ │ +00d4fc: 4d04 0306 |0018: aput-object v4, v3, v6 │ │ +00d500: 6e30 1803 2003 |001a: invoke-virtual {v0, v2, v3}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0318 │ │ +00d506: 0c01 |001d: move-result-object v1 │ │ +00d508: 2372 3601 |001e: new-array v2, v7, [Ljava/lang/Object; // type@0136 │ │ +00d50c: 4d08 0205 |0020: aput-object v8, v2, v5 │ │ +00d510: 4d09 0206 |0022: aput-object v9, v2, v6 │ │ +00d514: 6e30 6003 8102 |0024: invoke-virtual {v1, v8, v2}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@0360 │ │ +00d51a: 0c02 |0027: move-result-object v2 │ │ +00d51c: 1f02 1e01 |0028: check-cast v2, Lorg/apache/http/client/HttpClient; // type@011e │ │ +00d520: 1102 |002a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0004 line=99 │ │ + 0x0004 line=100 │ │ 0x000e line=101 │ │ + 0x001a line=102 │ │ 0x001e line=103 │ │ locals : │ │ 0x000e - 0x002b reg=0 androidHttpClientClass Ljava/lang/Class; Ljava/lang/Class<*>; │ │ 0x001e - 0x002b reg=1 newInstanceMethod Ljava/lang/reflect/Method; │ │ 0x0000 - 0x002b reg=9 context Landroid/content/Context; │ │ │ │ Virtual methods - │ │ source_file_idx : 157 (HttpClientFactory.java) │ │ │ │ -Class #77 header: │ │ +Class #55 header: │ │ class_idx : 168 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 18 │ │ -source_file_idx : 617 │ │ +source_file_idx : 614 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #77 - │ │ +Class #55 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Landroid/content/ContextWrapper;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext;) │ │ @@ -16242,18 +10109,18 @@ │ │ type : '(Landroid/content/Context;Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -00d998: |[00d998] com.google.android.apps.authenticator.testability.SharedPreferencesRenamingDelegatingContext.:(Landroid/content/Context;Ljava/lang/String;)V │ │ -00d9a8: 7020 2c00 1000 |0000: invoke-direct {v0, v1}, Landroid/content/ContextWrapper;.:(Landroid/content/Context;)V // method@002c │ │ -00d9ae: 5b02 cb00 |0003: iput-object v2, v0, Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext;.mPrefix:Ljava/lang/String; // field@00cb │ │ -00d9b2: 0e00 |0005: return-void │ │ +00d524: |[00d524] com.google.android.apps.authenticator.testability.SharedPreferencesRenamingDelegatingContext.:(Landroid/content/Context;Ljava/lang/String;)V │ │ +00d534: 7020 2c00 1000 |0000: invoke-direct {v0, v1}, Landroid/content/ContextWrapper;.:(Landroid/content/Context;)V // method@002c │ │ +00d53a: 5b02 cb00 |0003: iput-object v2, v0, Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext;.mPrefix:Ljava/lang/String; // field@00cb │ │ +00d53e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ 0x0003 line=35 │ │ 0x0005 line=36 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext; │ │ @@ -16266,174 +10133,279 @@ │ │ type : '(Ljava/lang/String;I)Landroid/content/SharedPreferences;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 24 16-bit code units │ │ -00d9b4: |[00d9b4] com.google.android.apps.authenticator.testability.SharedPreferencesRenamingDelegatingContext.getSharedPreferences:(Ljava/lang/String;I)Landroid/content/SharedPreferences; │ │ -00d9c4: 2200 f900 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@00f9 │ │ -00d9c8: 7010 5303 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00d9ce: 5421 cb00 |0005: iget-object v1, v2, Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext;.mPrefix:Ljava/lang/String; // field@00cb │ │ -00d9d2: 6e20 5a03 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00d9d8: 0c00 |000a: move-result-object v0 │ │ -00d9da: 6e20 5a03 3000 |000b: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00d9e0: 0c00 |000e: move-result-object v0 │ │ -00d9e2: 6e10 5b03 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00d9e8: 0c00 |0012: move-result-object v0 │ │ -00d9ea: 6f30 2d00 0204 |0013: invoke-super {v2, v0, v4}, Landroid/content/ContextWrapper;.getSharedPreferences:(Ljava/lang/String;I)Landroid/content/SharedPreferences; // method@002d │ │ -00d9f0: 0c00 |0016: move-result-object v0 │ │ -00d9f2: 1100 |0017: return-object v0 │ │ +00d540: |[00d540] com.google.android.apps.authenticator.testability.SharedPreferencesRenamingDelegatingContext.getSharedPreferences:(Ljava/lang/String;I)Landroid/content/SharedPreferences; │ │ +00d550: 2200 f900 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@00f9 │ │ +00d554: 7010 5303 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00d55a: 5421 cb00 |0005: iget-object v1, v2, Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext;.mPrefix:Ljava/lang/String; // field@00cb │ │ +00d55e: 6e20 5a03 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00d564: 0c00 |000a: move-result-object v0 │ │ +00d566: 6e20 5a03 3000 |000b: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00d56c: 0c00 |000e: move-result-object v0 │ │ +00d56e: 6e10 5b03 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00d574: 0c00 |0012: move-result-object v0 │ │ +00d576: 6f30 2d00 0204 |0013: invoke-super {v2, v0, v4}, Landroid/content/ContextWrapper;.getSharedPreferences:(Ljava/lang/String;I)Landroid/content/SharedPreferences; // method@002d │ │ +00d57c: 0c00 |0016: move-result-object v0 │ │ +00d57e: 1100 |0017: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ 0x0000 - 0x0018 reg=2 this Lcom/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext; │ │ 0x0000 - 0x0018 reg=3 name Ljava/lang/String; │ │ 0x0000 - 0x0018 reg=4 mode I │ │ │ │ - source_file_idx : 617 (SharedPreferencesRenamingDelegatingContext.java) │ │ + source_file_idx : 614 (SharedPreferencesRenamingDelegatingContext.java) │ │ │ │ -Class #78 header: │ │ +Class #56 header: │ │ class_idx : 169 │ │ access_flags : 1537 (0x0601) │ │ superclass_idx : 243 │ │ -source_file_idx : 621 │ │ +source_file_idx : 618 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 0 │ │ virtual_methods_size: 1 │ │ │ │ -Class #78 - │ │ +Class #56 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/testability/StartActivityListener;' │ │ Access flags : 0x0601 (PUBLIC INTERFACE ABSTRACT) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/testability/StartActivityListener;) │ │ name : 'onStartActivityInvoked' │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)Z' │ │ access : 0x0401 (PUBLIC ABSTRACT) │ │ code : (none) │ │ │ │ - source_file_idx : 621 (StartActivityListener.java) │ │ + source_file_idx : 618 (StartActivityListener.java) │ │ │ │ -Class #79 header: │ │ -class_idx : 172 │ │ +Class #57 header: │ │ +class_idx : 170 │ │ access_flags : 1 (0x0001) │ │ -superclass_idx : 194 │ │ -source_file_idx : 58 │ │ +superclass_idx : 8 │ │ +source_file_idx : 641 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 2 │ │ │ │ -Class #79 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ - │ │ -Class #79 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/AboutActivity;' │ │ +Class #57 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/testability/TestableActivity;' │ │ Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ + Superclass : 'Landroid/app/Activity;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/timesync/AboutActivity;) │ │ + #0 : (in Lcom/google/android/apps/authenticator/testability/TestableActivity;) │ │ name : '' │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00d9f4: |[00d9f4] com.google.android.apps.authenticator.timesync.AboutActivity.:()V │ │ -00da04: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ -00da0a: 0e00 |0003: return-void │ │ +00d580: |[00d580] com.google.android.apps.authenticator.testability.TestableActivity.:()V │ │ +00d590: 7010 0200 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0002 │ │ +00d596: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ - 0x0000 line=31 │ │ + 0x0000 line=27 │ │ locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/AboutActivity; │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/testability/TestableActivity; │ │ │ │ Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/timesync/AboutActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ + #0 : (in Lcom/google/android/apps/authenticator/testability/TestableActivity;) │ │ + name : 'startActivity' │ │ + type : '(Landroid/content/Intent;)V' │ │ + access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ - insns size : 30 16-bit code units │ │ -00da0c: |[00da0c] com.google.android.apps.authenticator.timesync.AboutActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00da1c: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ -00da22: 1400 0900 037f |0003: const v0, #float 1.74129e+38 // #7f030009 │ │ -00da28: 6e20 9302 0200 |0006: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.setPageContentView:(I)Landroid/view/View; // method@0293 │ │ -00da2e: 1400 0a00 0a7f |0009: const v0, #float 1.83434e+38 // #7f0a000a │ │ -00da34: 1401 4a00 067f |000c: const v1, #float 1.78118e+38 // #7f06004a │ │ -00da3a: 6e30 9402 0201 |000f: invoke-virtual {v2, v0, v1}, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.setTextViewHtmlFromResource:(II)V // method@0294 │ │ -00da40: 6e10 9202 0200 |0012: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.setButtonBarModeMiddleButtonOnly:()V // method@0292 │ │ -00da46: 5420 cc00 |0015: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.mMiddleButton:Landroid/widget/Button; // field@00cc │ │ -00da4a: 1401 3700 067f |0017: const v1, #float 1.78118e+38 // #7f060037 │ │ -00da50: 6e20 ba00 1000 |001a: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(I)V // method@00ba │ │ -00da56: 0e00 |001d: return-void │ │ + insns size : 17 16-bit code units │ │ +00d598: |[00d598] com.google.android.apps.authenticator.testability.TestableActivity.startActivity:(Landroid/content/Intent;)V │ │ +00d5a8: 7100 6b02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; // method@026b │ │ +00d5ae: 0c00 |0003: move-result-object v0 │ │ +00d5b0: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +00d5b4: 7230 7d02 2003 |0006: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/testability/StartActivityListener;.onStartActivityInvoked:(Landroid/content/Context;Landroid/content/Intent;)Z // method@027d │ │ +00d5ba: 0a01 |0009: move-result v1 │ │ +00d5bc: 3801 0300 |000a: if-eqz v1, 000d // +0003 │ │ +00d5c0: 0e00 |000c: return-void │ │ +00d5c2: 6f20 0500 3200 |000d: invoke-super {v2, v3}, Landroid/app/Activity;.startActivity:(Landroid/content/Intent;)V // method@0005 │ │ +00d5c8: 28fc |0010: goto 000c // -0004 │ │ catches : (none) │ │ positions : │ │ - 0x0000 line=35 │ │ - 0x0003 line=37 │ │ - 0x0009 line=38 │ │ - 0x0012 line=40 │ │ - 0x0015 line=41 │ │ - 0x001d line=42 │ │ + 0x0000 line=31 │ │ + 0x0004 line=32 │ │ + 0x000c line=37 │ │ + 0x000d line=36 │ │ locals : │ │ - 0x0000 - 0x001e reg=2 this Lcom/google/android/apps/authenticator/timesync/AboutActivity; │ │ - 0x0000 - 0x001e reg=3 savedInstanceState Landroid/os/Bundle; │ │ + 0x0004 - 0x0011 reg=0 listener Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ + 0x0000 - 0x0011 reg=2 this Lcom/google/android/apps/authenticator/testability/TestableActivity; │ │ + 0x0000 - 0x0011 reg=3 intent Landroid/content/Intent; │ │ │ │ - #1 : (in Lcom/google/android/apps/authenticator/timesync/AboutActivity;) │ │ - name : 'onMiddleButtonPressed' │ │ + #1 : (in Lcom/google/android/apps/authenticator/testability/TestableActivity;) │ │ + name : 'startActivityForResult' │ │ + type : '(Landroid/content/Intent;I)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 5 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 17 16-bit code units │ │ +00d5cc: |[00d5cc] com.google.android.apps.authenticator.testability.TestableActivity.startActivityForResult:(Landroid/content/Intent;I)V │ │ +00d5dc: 7100 6b02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; // method@026b │ │ +00d5e2: 0c00 |0003: move-result-object v0 │ │ +00d5e4: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +00d5e8: 7230 7d02 2003 |0006: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/testability/StartActivityListener;.onStartActivityInvoked:(Landroid/content/Context;Landroid/content/Intent;)Z // method@027d │ │ +00d5ee: 0a01 |0009: move-result v1 │ │ +00d5f0: 3801 0300 |000a: if-eqz v1, 000d // +0003 │ │ +00d5f4: 0e00 |000c: return-void │ │ +00d5f6: 6f30 0600 3204 |000d: invoke-super {v2, v3, v4}, Landroid/app/Activity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0006 │ │ +00d5fc: 28fc |0010: goto 000c // -0004 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=41 │ │ + 0x0004 line=42 │ │ + 0x000c line=47 │ │ + 0x000d line=46 │ │ + locals : │ │ + 0x0004 - 0x0011 reg=0 listener Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ + 0x0000 - 0x0011 reg=2 this Lcom/google/android/apps/authenticator/testability/TestableActivity; │ │ + 0x0000 - 0x0011 reg=3 intent Landroid/content/Intent; │ │ + 0x0000 - 0x0011 reg=4 requestCode I │ │ + │ │ + source_file_idx : 641 (TestableActivity.java) │ │ + │ │ +Class #58 header: │ │ +class_idx : 171 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 58 │ │ +source_file_idx : 642 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 2 │ │ + │ │ +Class #58 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Landroid/preference/PreferenceActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;) │ │ + name : '' │ │ type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00da58: |[00da58] com.google.android.apps.authenticator.timesync.AboutActivity.onMiddleButtonPressed:()V │ │ -00da68: 6e10 8f02 0000 |0000: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.onBackPressed:()V // method@028f │ │ -00da6e: 0e00 |0003: return-void │ │ +00d600: |[00d600] com.google.android.apps.authenticator.testability.TestablePreferenceActivity.:()V │ │ +00d610: 7010 8e00 0000 |0000: invoke-direct {v0}, Landroid/preference/PreferenceActivity;.:()V // method@008e │ │ +00d616: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ - 0x0000 line=46 │ │ - 0x0003 line=47 │ │ + 0x0000 line=27 │ │ locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/AboutActivity; │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity; │ │ │ │ - source_file_idx : 58 (AboutActivity.java) │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;) │ │ + name : 'startActivity' │ │ + type : '(Landroid/content/Intent;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 17 16-bit code units │ │ +00d618: |[00d618] com.google.android.apps.authenticator.testability.TestablePreferenceActivity.startActivity:(Landroid/content/Intent;)V │ │ +00d628: 7100 6b02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; // method@026b │ │ +00d62e: 0c00 |0003: move-result-object v0 │ │ +00d630: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +00d634: 7230 7d02 2003 |0006: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/testability/StartActivityListener;.onStartActivityInvoked:(Landroid/content/Context;Landroid/content/Intent;)Z // method@027d │ │ +00d63a: 0a01 |0009: move-result v1 │ │ +00d63c: 3801 0300 |000a: if-eqz v1, 000d // +0003 │ │ +00d640: 0e00 |000c: return-void │ │ +00d642: 6f20 8f00 3200 |000d: invoke-super {v2, v3}, Landroid/preference/PreferenceActivity;.startActivity:(Landroid/content/Intent;)V // method@008f │ │ +00d648: 28fc |0010: goto 000c // -0004 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=31 │ │ + 0x0004 line=32 │ │ + 0x000c line=37 │ │ + 0x000d line=36 │ │ + locals : │ │ + 0x0004 - 0x0011 reg=0 listener Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ + 0x0000 - 0x0011 reg=2 this Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity; │ │ + 0x0000 - 0x0011 reg=3 intent Landroid/content/Intent; │ │ │ │ -Class #80 header: │ │ + #1 : (in Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;) │ │ + name : 'startActivityForResult' │ │ + type : '(Landroid/content/Intent;I)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 5 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 17 16-bit code units │ │ +00d64c: |[00d64c] com.google.android.apps.authenticator.testability.TestablePreferenceActivity.startActivityForResult:(Landroid/content/Intent;I)V │ │ +00d65c: 7100 6b02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getStartActivityListener:()Lcom/google/android/apps/authenticator/testability/StartActivityListener; // method@026b │ │ +00d662: 0c00 |0003: move-result-object v0 │ │ +00d664: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +00d668: 7230 7d02 2003 |0006: invoke-interface {v0, v2, v3}, Lcom/google/android/apps/authenticator/testability/StartActivityListener;.onStartActivityInvoked:(Landroid/content/Context;Landroid/content/Intent;)Z // method@027d │ │ +00d66e: 0a01 |0009: move-result v1 │ │ +00d670: 3801 0300 |000a: if-eqz v1, 000d // +0003 │ │ +00d674: 0e00 |000c: return-void │ │ +00d676: 6f30 9000 3204 |000d: invoke-super {v2, v3, v4}, Landroid/preference/PreferenceActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0090 │ │ +00d67c: 28fc |0010: goto 000c // -0004 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=41 │ │ + 0x0004 line=42 │ │ + 0x000c line=47 │ │ + 0x000d line=46 │ │ + locals : │ │ + 0x0004 - 0x0011 reg=0 listener Lcom/google/android/apps/authenticator/testability/StartActivityListener; │ │ + 0x0000 - 0x0011 reg=2 this Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity; │ │ + 0x0000 - 0x0011 reg=3 intent Landroid/content/Intent; │ │ + 0x0000 - 0x0011 reg=4 requestCode I │ │ + │ │ + source_file_idx : 642 (TestablePreferenceActivity.java) │ │ + │ │ +Class #59 header: │ │ class_idx : 173 │ │ access_flags : 1 (0x0001) │ │ superclass_idx : 243 │ │ -source_file_idx : 557 │ │ +source_file_idx : 554 │ │ static_fields_size : 2 │ │ instance_fields_size: 1 │ │ direct_methods_size : 2 │ │ virtual_methods_size: 1 │ │ │ │ -Class #80 annotations: │ │ +Class #59 annotations: │ │ Annotations on method #663 'getNetworkTime' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/io/IOException; } │ │ │ │ -Class #80 - │ │ +Class #59 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;' │ │ Access flags : 0x0001 (PUBLIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;) │ │ name : 'LOG_TAG' │ │ @@ -16456,38 +10428,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00da70: |[00da70] com.google.android.apps.authenticator.timesync.NetworkTimeProvider.:()V │ │ -00da80: 1c00 ad00 |0000: const-class v0, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; // type@00ad │ │ -00da84: 6e10 1b03 0000 |0002: invoke-virtual {v0}, Ljava/lang/Class;.getSimpleName:()Ljava/lang/String; // method@031b │ │ -00da8a: 0c00 |0005: move-result-object v0 │ │ -00da8c: 6900 cd00 |0006: sput-object v0, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.LOG_TAG:Ljava/lang/String; // field@00cd │ │ -00da90: 0e00 |0008: return-void │ │ +00d680: |[00d680] com.google.android.apps.authenticator.timesync.NetworkTimeProvider.:()V │ │ +00d690: 1c00 ad00 |0000: const-class v0, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; // type@00ad │ │ +00d694: 6e10 1b03 0000 |0002: invoke-virtual {v0}, Ljava/lang/Class;.getSimpleName:()Ljava/lang/String; // method@031b │ │ +00d69a: 0c00 |0005: move-result-object v0 │ │ +00d69c: 6900 cd00 |0006: sput-object v0, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.LOG_TAG:Ljava/lang/String; // field@00cd │ │ +00d6a0: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;) │ │ name : '' │ │ type : '(Lorg/apache/http/client/HttpClient;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00da94: |[00da94] com.google.android.apps.authenticator.timesync.NetworkTimeProvider.:(Lorg/apache/http/client/HttpClient;)V │ │ -00daa4: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00daaa: 5b01 cf00 |0003: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.mHttpClient:Lorg/apache/http/client/HttpClient; // field@00cf │ │ -00daae: 0e00 |0005: return-void │ │ +00d6a4: |[00d6a4] com.google.android.apps.authenticator.timesync.NetworkTimeProvider.:(Lorg/apache/http/client/HttpClient;)V │ │ +00d6b4: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00d6ba: 5b01 cf00 |0003: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.mHttpClient:Lorg/apache/http/client/HttpClient; // field@00cf │ │ +00d6be: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ 0x0003 line=46 │ │ 0x0005 line=47 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; │ │ @@ -16499,109 +10471,109 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 187 16-bit code units │ │ -00dab0: |[00dab0] com.google.android.apps.authenticator.timesync.NetworkTimeProvider.getNetworkTime:()J │ │ -00dac0: 2205 1f01 |0000: new-instance v5, Lorg/apache/http/client/methods/HttpHead; // type@011f │ │ -00dac4: 1a07 a304 |0002: const-string v7, "https://www.google.com" // string@04a3 │ │ -00dac8: 7020 8603 7500 |0004: invoke-direct {v5, v7}, Lorg/apache/http/client/methods/HttpHead;.:(Ljava/lang/String;)V // method@0386 │ │ -00dace: 6207 cd00 |0007: sget-object v7, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.LOG_TAG:Ljava/lang/String; // field@00cd │ │ -00dad2: 2208 f900 |0009: new-instance v8, Ljava/lang/StringBuilder; // type@00f9 │ │ -00dad6: 7010 5303 0800 |000b: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00dadc: 1a09 6502 |000e: const-string v9, "Sending request to " // string@0265 │ │ -00dae0: 6e20 5a03 9800 |0010: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00dae6: 0c08 |0013: move-result-object v8 │ │ -00dae8: 6e10 8703 0500 |0014: invoke-virtual {v5}, Lorg/apache/http/client/methods/HttpHead;.getURI:()Ljava/net/URI; // method@0387 │ │ -00daee: 0c09 |0017: move-result-object v9 │ │ -00daf0: 6e20 5903 9800 |0018: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00daf6: 0c08 |001b: move-result-object v8 │ │ -00daf8: 6e10 5b03 0800 |001c: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00dafe: 0c08 |001f: move-result-object v8 │ │ -00db00: 7120 9900 8700 |0020: invoke-static {v7, v8}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ -00db06: 54a7 cf00 |0023: iget-object v7, v10, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.mHttpClient:Lorg/apache/http/client/HttpClient; // field@00cf │ │ -00db0a: 7220 8303 5700 |0025: invoke-interface {v7, v5}, Lorg/apache/http/client/HttpClient;.execute:(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/HttpResponse; // method@0383 │ │ -00db10: 0c03 |0028: move-result-object v3 │ │ -00db12: 1a07 7800 |0029: const-string v7, "Date" // string@0078 │ │ -00db16: 7220 8203 7300 |002b: invoke-interface {v3, v7}, Lorg/apache/http/HttpResponse;.getLastHeader:(Ljava/lang/String;)Lorg/apache/http/Header; // method@0382 │ │ -00db1c: 0c00 |002e: move-result-object v0 │ │ -00db1e: 6207 cd00 |002f: sget-object v7, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.LOG_TAG:Ljava/lang/String; // field@00cd │ │ -00db22: 2208 f900 |0031: new-instance v8, Ljava/lang/StringBuilder; // type@00f9 │ │ -00db26: 7010 5303 0800 |0033: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00db2c: 1a09 5602 |0036: const-string v9, "Received response with Date header: " // string@0256 │ │ -00db30: 6e20 5a03 9800 |0038: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00db36: 0c08 |003b: move-result-object v8 │ │ -00db38: 6e20 5903 0800 |003c: invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00db3e: 0c08 |003f: move-result-object v8 │ │ -00db40: 6e10 5b03 0800 |0040: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00db46: 0c08 |0043: move-result-object v8 │ │ -00db48: 7120 9900 8700 |0044: invoke-static {v7, v8}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ -00db4e: 3900 3a00 |0047: if-nez v0, 0081 // +003a │ │ -00db52: 2207 da00 |0049: new-instance v7, Ljava/io/IOException; // type@00da │ │ -00db56: 1a08 2f02 |004b: const-string v8, "No Date header in response" // string@022f │ │ -00db5a: 7020 1103 8700 |004d: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ -00db60: 2707 |0050: throw v7 │ │ -00db62: 0d07 |0051: move-exception v7 │ │ -00db64: 7210 8103 0300 |0052: invoke-interface {v3}, Lorg/apache/http/HttpResponse;.getEntity:()Lorg/apache/http/HttpEntity; // method@0381 │ │ -00db6a: 0c06 |0055: move-result-object v6 │ │ -00db6c: 3806 0500 |0056: if-eqz v6, 005b // +0005 │ │ -00db70: 7210 8003 0600 |0058: invoke-interface {v6}, Lorg/apache/http/HttpEntity;.consumeContent:()V // method@0380 │ │ -00db76: 2707 |005b: throw v7 │ │ -00db78: 0d02 |005c: move-exception v2 │ │ -00db7a: 2207 da00 |005d: new-instance v7, Ljava/io/IOException; // type@00da │ │ -00db7e: 7110 5203 0200 |005f: invoke-static {v2}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ -00db84: 0c08 |0062: move-result-object v8 │ │ -00db86: 7020 1103 8700 |0063: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ -00db8c: 2707 |0066: throw v7 │ │ -00db8e: 0d02 |0067: move-exception v2 │ │ -00db90: 2207 da00 |0068: new-instance v7, Ljava/io/IOException; // type@00da │ │ -00db94: 2208 f900 |006a: new-instance v8, Ljava/lang/StringBuilder; // type@00f9 │ │ -00db98: 7010 5303 0800 |006c: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00db9e: 1a09 8500 |006f: const-string v9, "Failed due to connectivity issues: " // string@0085 │ │ -00dba2: 6e20 5a03 9800 |0071: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00dba8: 0c08 |0074: move-result-object v8 │ │ -00dbaa: 6e20 5903 2800 |0075: invoke-virtual {v8, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ -00dbb0: 0c08 |0078: move-result-object v8 │ │ -00dbb2: 6e10 5b03 0800 |0079: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00dbb8: 0c08 |007c: move-result-object v8 │ │ -00dbba: 7020 1103 8700 |007d: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ -00dbc0: 2707 |0080: throw v7 │ │ -00dbc2: 7210 7f03 0000 |0081: invoke-interface {v0}, Lorg/apache/http/Header;.getValue:()Ljava/lang/String; // method@037f │ │ -00dbc8: 0c01 |0084: move-result-object v1 │ │ -00dbca: 7110 8d03 0100 |0085: invoke-static {v1}, Lorg/apache/http/impl/cookie/DateUtils;.parseDate:(Ljava/lang/String;)Ljava/util/Date; // method@038d │ │ -00dbd0: 0c04 |0088: move-result-object v4 │ │ -00dbd2: 6e10 6e03 0400 |0089: invoke-virtual {v4}, Ljava/util/Date;.getTime:()J // method@036e │ │ -00dbd8: 0b07 |008c: move-result-wide v7 │ │ -00dbda: 7210 8103 0300 |008d: invoke-interface {v3}, Lorg/apache/http/HttpResponse;.getEntity:()Lorg/apache/http/HttpEntity; // method@0381 │ │ -00dbe0: 0c06 |0090: move-result-object v6 │ │ -00dbe2: 3806 0500 |0091: if-eqz v6, 0096 // +0005 │ │ -00dbe6: 7210 8003 0600 |0093: invoke-interface {v6}, Lorg/apache/http/HttpEntity;.consumeContent:()V // method@0380 │ │ -00dbec: 1007 |0096: return-wide v7 │ │ -00dbee: 0d02 |0097: move-exception v2 │ │ -00dbf0: 2207 da00 |0098: new-instance v7, Ljava/io/IOException; // type@00da │ │ -00dbf4: 2208 f900 |009a: new-instance v8, Ljava/lang/StringBuilder; // type@00f9 │ │ -00dbf8: 7010 5303 0800 |009c: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00dbfe: 1a09 ba00 |009f: const-string v9, "Invalid Date header format in response: "" // string@00ba │ │ -00dc02: 6e20 5a03 9800 |00a1: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00dc08: 0c08 |00a4: move-result-object v8 │ │ -00dc0a: 6e20 5a03 1800 |00a5: invoke-virtual {v8, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00dc10: 0c08 |00a8: move-result-object v8 │ │ -00dc12: 1a09 0800 |00a9: const-string v9, """ // string@0008 │ │ -00dc16: 6e20 5a03 9800 |00ab: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00dc1c: 0c08 |00ae: move-result-object v8 │ │ -00dc1e: 6e10 5b03 0800 |00af: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00dc24: 0c08 |00b2: move-result-object v8 │ │ -00dc26: 7020 1103 8700 |00b3: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ -00dc2c: 2707 |00b6: throw v7 │ │ -00dc2e: 0d08 |00b7: move-exception v8 │ │ -00dc30: 28a3 |00b8: goto 005b // -005d │ │ -00dc32: 0d09 |00b9: move-exception v9 │ │ -00dc34: 28dc |00ba: goto 0096 // -0024 │ │ +00d6c0: |[00d6c0] com.google.android.apps.authenticator.timesync.NetworkTimeProvider.getNetworkTime:()J │ │ +00d6d0: 2205 1f01 |0000: new-instance v5, Lorg/apache/http/client/methods/HttpHead; // type@011f │ │ +00d6d4: 1a07 9f04 |0002: const-string v7, "https://www.google.com" // string@049f │ │ +00d6d8: 7020 8603 7500 |0004: invoke-direct {v5, v7}, Lorg/apache/http/client/methods/HttpHead;.:(Ljava/lang/String;)V // method@0386 │ │ +00d6de: 6207 cd00 |0007: sget-object v7, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.LOG_TAG:Ljava/lang/String; // field@00cd │ │ +00d6e2: 2208 f900 |0009: new-instance v8, Ljava/lang/StringBuilder; // type@00f9 │ │ +00d6e6: 7010 5303 0800 |000b: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00d6ec: 1a09 6202 |000e: const-string v9, "Sending request to " // string@0262 │ │ +00d6f0: 6e20 5a03 9800 |0010: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00d6f6: 0c08 |0013: move-result-object v8 │ │ +00d6f8: 6e10 8703 0500 |0014: invoke-virtual {v5}, Lorg/apache/http/client/methods/HttpHead;.getURI:()Ljava/net/URI; // method@0387 │ │ +00d6fe: 0c09 |0017: move-result-object v9 │ │ +00d700: 6e20 5903 9800 |0018: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00d706: 0c08 |001b: move-result-object v8 │ │ +00d708: 6e10 5b03 0800 |001c: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00d70e: 0c08 |001f: move-result-object v8 │ │ +00d710: 7120 9900 8700 |0020: invoke-static {v7, v8}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ +00d716: 54a7 cf00 |0023: iget-object v7, v10, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.mHttpClient:Lorg/apache/http/client/HttpClient; // field@00cf │ │ +00d71a: 7220 8303 5700 |0025: invoke-interface {v7, v5}, Lorg/apache/http/client/HttpClient;.execute:(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/HttpResponse; // method@0383 │ │ +00d720: 0c03 |0028: move-result-object v3 │ │ +00d722: 1a07 7800 |0029: const-string v7, "Date" // string@0078 │ │ +00d726: 7220 8203 7300 |002b: invoke-interface {v3, v7}, Lorg/apache/http/HttpResponse;.getLastHeader:(Ljava/lang/String;)Lorg/apache/http/Header; // method@0382 │ │ +00d72c: 0c00 |002e: move-result-object v0 │ │ +00d72e: 6207 cd00 |002f: sget-object v7, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.LOG_TAG:Ljava/lang/String; // field@00cd │ │ +00d732: 2208 f900 |0031: new-instance v8, Ljava/lang/StringBuilder; // type@00f9 │ │ +00d736: 7010 5303 0800 |0033: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00d73c: 1a09 5302 |0036: const-string v9, "Received response with Date header: " // string@0253 │ │ +00d740: 6e20 5a03 9800 |0038: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00d746: 0c08 |003b: move-result-object v8 │ │ +00d748: 6e20 5903 0800 |003c: invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00d74e: 0c08 |003f: move-result-object v8 │ │ +00d750: 6e10 5b03 0800 |0040: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00d756: 0c08 |0043: move-result-object v8 │ │ +00d758: 7120 9900 8700 |0044: invoke-static {v7, v8}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ +00d75e: 3900 3a00 |0047: if-nez v0, 0081 // +003a │ │ +00d762: 2207 da00 |0049: new-instance v7, Ljava/io/IOException; // type@00da │ │ +00d766: 1a08 2c02 |004b: const-string v8, "No Date header in response" // string@022c │ │ +00d76a: 7020 1103 8700 |004d: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ +00d770: 2707 |0050: throw v7 │ │ +00d772: 0d07 |0051: move-exception v7 │ │ +00d774: 7210 8103 0300 |0052: invoke-interface {v3}, Lorg/apache/http/HttpResponse;.getEntity:()Lorg/apache/http/HttpEntity; // method@0381 │ │ +00d77a: 0c06 |0055: move-result-object v6 │ │ +00d77c: 3806 0500 |0056: if-eqz v6, 005b // +0005 │ │ +00d780: 7210 8003 0600 |0058: invoke-interface {v6}, Lorg/apache/http/HttpEntity;.consumeContent:()V // method@0380 │ │ +00d786: 2707 |005b: throw v7 │ │ +00d788: 0d02 |005c: move-exception v2 │ │ +00d78a: 2207 da00 |005d: new-instance v7, Ljava/io/IOException; // type@00da │ │ +00d78e: 7110 5203 0200 |005f: invoke-static {v2}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ +00d794: 0c08 |0062: move-result-object v8 │ │ +00d796: 7020 1103 8700 |0063: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ +00d79c: 2707 |0066: throw v7 │ │ +00d79e: 0d02 |0067: move-exception v2 │ │ +00d7a0: 2207 da00 |0068: new-instance v7, Ljava/io/IOException; // type@00da │ │ +00d7a4: 2208 f900 |006a: new-instance v8, Ljava/lang/StringBuilder; // type@00f9 │ │ +00d7a8: 7010 5303 0800 |006c: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00d7ae: 1a09 8500 |006f: const-string v9, "Failed due to connectivity issues: " // string@0085 │ │ +00d7b2: 6e20 5a03 9800 |0071: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00d7b8: 0c08 |0074: move-result-object v8 │ │ +00d7ba: 6e20 5903 2800 |0075: invoke-virtual {v8, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0359 │ │ +00d7c0: 0c08 |0078: move-result-object v8 │ │ +00d7c2: 6e10 5b03 0800 |0079: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00d7c8: 0c08 |007c: move-result-object v8 │ │ +00d7ca: 7020 1103 8700 |007d: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ +00d7d0: 2707 |0080: throw v7 │ │ +00d7d2: 7210 7f03 0000 |0081: invoke-interface {v0}, Lorg/apache/http/Header;.getValue:()Ljava/lang/String; // method@037f │ │ +00d7d8: 0c01 |0084: move-result-object v1 │ │ +00d7da: 7110 8d03 0100 |0085: invoke-static {v1}, Lorg/apache/http/impl/cookie/DateUtils;.parseDate:(Ljava/lang/String;)Ljava/util/Date; // method@038d │ │ +00d7e0: 0c04 |0088: move-result-object v4 │ │ +00d7e2: 6e10 6e03 0400 |0089: invoke-virtual {v4}, Ljava/util/Date;.getTime:()J // method@036e │ │ +00d7e8: 0b08 |008c: move-result-wide v8 │ │ +00d7ea: 7210 8103 0300 |008d: invoke-interface {v3}, Lorg/apache/http/HttpResponse;.getEntity:()Lorg/apache/http/HttpEntity; // method@0381 │ │ +00d7f0: 0c06 |0090: move-result-object v6 │ │ +00d7f2: 3806 0500 |0091: if-eqz v6, 0096 // +0005 │ │ +00d7f6: 7210 8003 0600 |0093: invoke-interface {v6}, Lorg/apache/http/HttpEntity;.consumeContent:()V // method@0380 │ │ +00d7fc: 1008 |0096: return-wide v8 │ │ +00d7fe: 0d02 |0097: move-exception v2 │ │ +00d800: 2207 da00 |0098: new-instance v7, Ljava/io/IOException; // type@00da │ │ +00d804: 2208 f900 |009a: new-instance v8, Ljava/lang/StringBuilder; // type@00f9 │ │ +00d808: 7010 5303 0800 |009c: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00d80e: 1a09 ba00 |009f: const-string v9, "Invalid Date header format in response: "" // string@00ba │ │ +00d812: 6e20 5a03 9800 |00a1: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00d818: 0c08 |00a4: move-result-object v8 │ │ +00d81a: 6e20 5a03 1800 |00a5: invoke-virtual {v8, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00d820: 0c08 |00a8: move-result-object v8 │ │ +00d822: 1a09 0800 |00a9: const-string v9, """ // string@0008 │ │ +00d826: 6e20 5a03 9800 |00ab: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00d82c: 0c08 |00ae: move-result-object v8 │ │ +00d82e: 6e10 5b03 0800 |00af: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00d834: 0c08 |00b2: move-result-object v8 │ │ +00d836: 7020 1103 8700 |00b3: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0311 │ │ +00d83c: 2707 |00b6: throw v7 │ │ +00d83e: 0d08 |00b7: move-exception v8 │ │ +00d840: 28a3 |00b8: goto 005b // -005d │ │ +00d842: 0d07 |00b9: move-exception v7 │ │ +00d844: 28dc |00ba: goto 0096 // -0024 │ │ catches : 7 │ │ 0x0023 - 0x0028 │ │ Lorg/apache/http/client/ClientProtocolException; -> 0x005c │ │ Ljava/io/IOException; -> 0x0067 │ │ 0x0029 - 0x0051 │ │ -> 0x0051 │ │ 0x0052 - 0x005b │ │ @@ -16634,15 +10606,15 @@ │ │ 0x0068 line=65 │ │ 0x0081 line=74 │ │ 0x0085 line=76 │ │ 0x0089 line=77 │ │ 0x008d line=87 │ │ 0x0091 line=88 │ │ 0x0093 line=89 │ │ - 0x0096 line=93 │ │ + 0x0096 line=77 │ │ 0x0097 line=78 │ │ 0x0098 line=79 │ │ 0x00b7 line=91 │ │ locals : │ │ 0x002f - 0x0051 reg=0 dateHeader Lorg/apache/http/Header; │ │ 0x0056 - 0x005b reg=6 responseEntity Lorg/apache/http/HttpEntity; │ │ 0x0029 - 0x005c reg=3 httpResponse Lorg/apache/http/HttpResponse; │ │ @@ -16656,94 +10628,32 @@ │ │ 0x00b9 - 0x00bb reg=0 dateHeader Lorg/apache/http/Header; │ │ 0x00b9 - 0x00bb reg=1 dateHeaderValue Ljava/lang/String; │ │ 0x0081 - 0x00bb reg=3 httpResponse Lorg/apache/http/HttpResponse; │ │ 0x00b9 - 0x00bb reg=4 networkDate Ljava/util/Date; │ │ 0x0007 - 0x00bb reg=5 request Lorg/apache/http/client/methods/HttpHead; │ │ 0x0000 - 0x00bb reg=10 this Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; │ │ │ │ - source_file_idx : 557 (NetworkTimeProvider.java) │ │ + source_file_idx : 554 (NetworkTimeProvider.java) │ │ │ │ -Class #81 header: │ │ -class_idx : 174 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 171 │ │ -source_file_idx : 616 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 1 │ │ -virtual_methods_size: 1 │ │ - │ │ -Class #81 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00dc8c: |[00dc8c] com.google.android.apps.authenticator.timesync.SettingsTimeCorrectionActivity.:()V │ │ -00dc9c: 7010 8a02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.:()V // method@028a │ │ -00dca2: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=29 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 3 │ │ - ins : 2 │ │ - outs : 2 │ │ - insns size : 10 16-bit code units │ │ -00dca4: |[00dca4] com.google.android.apps.authenticator.timesync.SettingsTimeCorrectionActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00dcb4: 6f20 8b02 2100 |0000: invoke-super {v1, v2}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.onCreate:(Landroid/os/Bundle;)V // method@028b │ │ -00dcba: 1400 0200 047f |0003: const v0, #float 1.75458e+38 // #7f040002 │ │ -00dcc0: 6e20 9902 0100 |0006: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity;.addPreferencesFromResource:(I)V // method@0299 │ │ -00dcc6: 0e00 |0009: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=33 │ │ - 0x0003 line=35 │ │ - 0x0009 line=36 │ │ - locals : │ │ - 0x0000 - 0x000a reg=1 this Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity; │ │ - 0x0000 - 0x000a reg=2 savedInstanceState Landroid/os/Bundle; │ │ - │ │ - source_file_idx : 616 (SettingsTimeCorrectionActivity.java) │ │ - │ │ -Class #82 header: │ │ +Class #60 header: │ │ class_idx : 175 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 628 │ │ +source_file_idx : 625 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #82 annotations: │ │ +Class #60 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onDone │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #82 - │ │ +Class #60 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -16757,66 +10667,66 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00dcc8: |[00dcc8] com.google.android.apps.authenticator.timesync.SyncNowActivity$1.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ -00dcd8: 5b01 d000 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d0 │ │ -00dcdc: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00dce2: 0e00 |0005: return-void │ │ +00d89c: |[00d89c] com.google.android.apps.authenticator.timesync.SyncNowActivity$1.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ +00d8ac: 5b01 d000 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d0 │ │ +00d8b0: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00d8b6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;) │ │ name : 'onClick' │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00dce4: |[00dce4] com.google.android.apps.authenticator.timesync.SyncNowActivity$1.onClick:(Landroid/content/DialogInterface;I)V │ │ -00dcf4: 5410 d000 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d0 │ │ -00dcf8: 6e10 a702 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.finish:()V // method@02a7 │ │ -00dcfe: 0e00 |0005: return-void │ │ +00d8b8: |[00d8b8] com.google.android.apps.authenticator.timesync.SyncNowActivity$1.onClick:(Landroid/content/DialogInterface;I)V │ │ +00d8c8: 5410 d000 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d0 │ │ +00d8cc: 6e10 a702 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.finish:()V // method@02a7 │ │ +00d8d2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=114 │ │ 0x0005 line=115 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1; │ │ 0x0000 - 0x0006 reg=2 dialog Landroid/content/DialogInterface; │ │ 0x0000 - 0x0006 reg=3 which I │ │ │ │ - source_file_idx : 628 (SyncNowActivity.java) │ │ + source_file_idx : 625 (SyncNowActivity.java) │ │ │ │ -Class #83 header: │ │ +Class #61 header: │ │ class_idx : 176 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 628 │ │ +source_file_idx : 625 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #83 annotations: │ │ +Class #61 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onDone │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #83 - │ │ +Class #61 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -16830,66 +10740,66 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00dd00: |[00dd00] com.google.android.apps.authenticator.timesync.SyncNowActivity$2.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ -00dd10: 5b01 d100 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d1 │ │ -00dd14: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00dd1a: 0e00 |0005: return-void │ │ +00d8d4: |[00d8d4] com.google.android.apps.authenticator.timesync.SyncNowActivity$2.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ +00d8e4: 5b01 d100 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d1 │ │ +00d8e8: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00d8ee: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=126 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;) │ │ name : 'onClick' │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00dd1c: |[00dd1c] com.google.android.apps.authenticator.timesync.SyncNowActivity$2.onClick:(Landroid/content/DialogInterface;I)V │ │ -00dd2c: 5410 d100 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d1 │ │ -00dd30: 6e10 a702 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.finish:()V // method@02a7 │ │ -00dd36: 0e00 |0005: return-void │ │ +00d8f0: |[00d8f0] com.google.android.apps.authenticator.timesync.SyncNowActivity$2.onClick:(Landroid/content/DialogInterface;I)V │ │ +00d900: 5410 d100 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d1 │ │ +00d904: 6e10 a702 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.finish:()V // method@02a7 │ │ +00d90a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=129 │ │ 0x0005 line=130 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2; │ │ 0x0000 - 0x0006 reg=2 dialog Landroid/content/DialogInterface; │ │ 0x0000 - 0x0006 reg=3 which I │ │ │ │ - source_file_idx : 628 (SyncNowActivity.java) │ │ + source_file_idx : 625 (SyncNowActivity.java) │ │ │ │ -Class #84 header: │ │ +Class #62 header: │ │ class_idx : 177 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 628 │ │ +source_file_idx : 625 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #84 annotations: │ │ +Class #62 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onDone │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #84 - │ │ +Class #62 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -16903,66 +10813,66 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00dd38: |[00dd38] com.google.android.apps.authenticator.timesync.SyncNowActivity$3.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ -00dd48: 5b01 d200 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d2 │ │ -00dd4c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00dd52: 0e00 |0005: return-void │ │ +00d90c: |[00d90c] com.google.android.apps.authenticator.timesync.SyncNowActivity$3.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ +00d91c: 5b01 d200 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d2 │ │ +00d920: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00d926: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=141 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;) │ │ name : 'onClick' │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00dd54: |[00dd54] com.google.android.apps.authenticator.timesync.SyncNowActivity$3.onClick:(Landroid/content/DialogInterface;I)V │ │ -00dd64: 5410 d200 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d2 │ │ -00dd68: 6e10 a702 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.finish:()V // method@02a7 │ │ -00dd6e: 0e00 |0005: return-void │ │ +00d928: |[00d928] com.google.android.apps.authenticator.timesync.SyncNowActivity$3.onClick:(Landroid/content/DialogInterface;I)V │ │ +00d938: 5410 d200 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d2 │ │ +00d93c: 6e10 a702 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.finish:()V // method@02a7 │ │ +00d942: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=144 │ │ 0x0005 line=145 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3; │ │ 0x0000 - 0x0006 reg=2 dialog Landroid/content/DialogInterface; │ │ 0x0000 - 0x0006 reg=3 which I │ │ │ │ - source_file_idx : 628 (SyncNowActivity.java) │ │ + source_file_idx : 625 (SyncNowActivity.java) │ │ │ │ -Class #85 header: │ │ +Class #63 header: │ │ class_idx : 178 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 628 │ │ +source_file_idx : 625 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #85 annotations: │ │ +Class #63 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=showInProgressDialog │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #85 - │ │ +Class #63 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/content/DialogInterface$OnCancelListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -16976,68 +10886,68 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00dd70: |[00dd70] com.google.android.apps.authenticator.timesync.SyncNowActivity$4.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ -00dd80: 5b01 d300 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d3 │ │ -00dd84: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00dd8a: 0e00 |0005: return-void │ │ +00d944: |[00d944] com.google.android.apps.authenticator.timesync.SyncNowActivity$4.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ +00d954: 5b01 d300 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d3 │ │ +00d958: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00d95e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=168 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;) │ │ name : 'onCancel' │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -00dd8c: |[00dd8c] com.google.android.apps.authenticator.timesync.SyncNowActivity$4.onCancel:(Landroid/content/DialogInterface;)V │ │ -00dd9c: 5420 d300 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d3 │ │ -00dda0: 7110 a502 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.access$000:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)Lcom/google/android/apps/authenticator/timesync/SyncNowController; // method@02a5 │ │ -00dda6: 0c00 |0005: move-result-object v0 │ │ -00dda8: 5421 d300 |0006: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d3 │ │ -00ddac: 6e20 c702 1000 |0008: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.abort:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V // method@02c7 │ │ -00ddb2: 0e00 |000b: return-void │ │ +00d960: |[00d960] com.google.android.apps.authenticator.timesync.SyncNowActivity$4.onCancel:(Landroid/content/DialogInterface;)V │ │ +00d970: 5420 d300 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d3 │ │ +00d974: 7110 a502 0000 |0002: invoke-static {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.access$000:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)Lcom/google/android/apps/authenticator/timesync/SyncNowController; // method@02a5 │ │ +00d97a: 0c00 |0005: move-result-object v0 │ │ +00d97c: 5421 d300 |0006: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; // field@00d3 │ │ +00d980: 6e20 c702 1000 |0008: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.abort:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V // method@02c7 │ │ +00d986: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=171 │ │ 0x000b line=172 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4; │ │ 0x0000 - 0x000c reg=3 dialog Landroid/content/DialogInterface; │ │ │ │ - source_file_idx : 628 (SyncNowActivity.java) │ │ + source_file_idx : 625 (SyncNowActivity.java) │ │ │ │ -Class #86 header: │ │ +Class #64 header: │ │ class_idx : 179 │ │ access_flags : 4096 (0x1000) │ │ superclass_idx : 243 │ │ -source_file_idx : 628 │ │ +source_file_idx : 625 │ │ static_fields_size : 1 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #86 annotations: │ │ +Class #64 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=4104 name=null │ │ │ │ -Class #86 - │ │ +Class #64 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;' │ │ Access flags : 0x1000 (SYNTHETIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;) │ │ name : '$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result' │ │ @@ -17050,493 +10960,85 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 62 16-bit code units │ │ -00ddb4: |[00ddb4] com.google.android.apps.authenticator.timesync.SyncNowActivity$5.:()V │ │ -00ddc4: 7100 bf02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.values:()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // method@02bf │ │ -00ddca: 0c00 |0003: move-result-object v0 │ │ -00ddcc: 2100 |0004: array-length v0, v0 │ │ -00ddce: 2300 2e01 |0005: new-array v0, v0, [I // type@012e │ │ -00ddd2: 6900 d400 |0007: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ -00ddd6: 6200 d400 |0009: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ -00ddda: 6201 df00 |000b: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_ALREADY_CORRECT:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00df │ │ -00ddde: 6e10 bd02 0100 |000d: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ -00dde4: 0a01 |0010: move-result v1 │ │ -00dde6: 1212 |0011: const/4 v2, #int 1 // #1 │ │ -00dde8: 4b02 0001 |0012: aput v2, v0, v1 │ │ -00ddec: 6200 d400 |0014: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ -00ddf0: 6201 e000 |0016: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_CORRECTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00e0 │ │ -00ddf4: 6e10 bd02 0100 |0018: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ -00ddfa: 0a01 |001b: move-result v1 │ │ -00ddfc: 1222 |001c: const/4 v2, #int 2 // #2 │ │ -00ddfe: 4b02 0001 |001d: aput v2, v0, v1 │ │ -00de02: 6200 d400 |001f: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ -00de06: 6201 de00 |0021: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ERROR_CONNECTIVITY_ISSUE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00de │ │ -00de0a: 6e10 bd02 0100 |0023: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ -00de10: 0a01 |0026: move-result v1 │ │ -00de12: 1232 |0027: const/4 v2, #int 3 // #3 │ │ -00de14: 4b02 0001 |0028: aput v2, v0, v1 │ │ -00de18: 6200 d400 |002a: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ -00de1c: 6201 dd00 |002c: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.CANCELLED_BY_USER:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dd │ │ -00de20: 6e10 bd02 0100 |002e: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ -00de26: 0a01 |0031: move-result v1 │ │ -00de28: 1242 |0032: const/4 v2, #int 4 // #4 │ │ -00de2a: 4b02 0001 |0033: aput v2, v0, v1 │ │ -00de2e: 0e00 |0035: return-void │ │ -00de30: 0d00 |0036: move-exception v0 │ │ -00de32: 28fe |0037: goto 0035 // -0002 │ │ -00de34: 0d00 |0038: move-exception v0 │ │ -00de36: 28f1 |0039: goto 002a // -000f │ │ -00de38: 0d00 |003a: move-exception v0 │ │ -00de3a: 28e4 |003b: goto 001f // -001c │ │ -00de3c: 0d00 |003c: move-exception v0 │ │ -00de3e: 28d7 |003d: goto 0014 // -0029 │ │ +00d988: |[00d988] com.google.android.apps.authenticator.timesync.SyncNowActivity$5.:()V │ │ +00d998: 7100 bf02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.values:()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // method@02bf │ │ +00d99e: 0c00 |0003: move-result-object v0 │ │ +00d9a0: 2100 |0004: array-length v0, v0 │ │ +00d9a2: 2300 2e01 |0005: new-array v0, v0, [I // type@012e │ │ +00d9a6: 6900 d400 |0007: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ +00d9aa: 6200 d400 |0009: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ +00d9ae: 6201 df00 |000b: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_ALREADY_CORRECT:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00df │ │ +00d9b2: 6e10 bd02 0100 |000d: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ +00d9b8: 0a01 |0010: move-result v1 │ │ +00d9ba: 1212 |0011: const/4 v2, #int 1 // #1 │ │ +00d9bc: 4b02 0001 |0012: aput v2, v0, v1 │ │ +00d9c0: 6200 d400 |0014: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ +00d9c4: 6201 e000 |0016: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_CORRECTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00e0 │ │ +00d9c8: 6e10 bd02 0100 |0018: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ +00d9ce: 0a01 |001b: move-result v1 │ │ +00d9d0: 1222 |001c: const/4 v2, #int 2 // #2 │ │ +00d9d2: 4b02 0001 |001d: aput v2, v0, v1 │ │ +00d9d6: 6200 d400 |001f: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ +00d9da: 6201 de00 |0021: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ERROR_CONNECTIVITY_ISSUE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00de │ │ +00d9de: 6e10 bd02 0100 |0023: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ +00d9e4: 0a01 |0026: move-result v1 │ │ +00d9e6: 1232 |0027: const/4 v2, #int 3 // #3 │ │ +00d9e8: 4b02 0001 |0028: aput v2, v0, v1 │ │ +00d9ec: 6200 d400 |002a: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ +00d9f0: 6201 dd00 |002c: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.CANCELLED_BY_USER:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dd │ │ +00d9f4: 6e10 bd02 0100 |002e: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ +00d9fa: 0a01 |0031: move-result v1 │ │ +00d9fc: 1242 |0032: const/4 v2, #int 4 // #4 │ │ +00d9fe: 4b02 0001 |0033: aput v2, v0, v1 │ │ +00da02: 0e00 |0035: return-void │ │ +00da04: 0d00 |0036: move-exception v0 │ │ +00da06: 28fe |0037: goto 0035 // -0002 │ │ +00da08: 0d00 |0038: move-exception v0 │ │ +00da0a: 28f1 |0039: goto 002a // -000f │ │ +00da0c: 0d00 |003a: move-exception v0 │ │ +00da0e: 28e4 |003b: goto 001f // -001c │ │ +00da10: 0d00 |003c: move-exception v0 │ │ +00da12: 28d7 |003d: goto 0014 // -0029 │ │ catches : 4 │ │ 0x0009 - 0x0014 │ │ Ljava/lang/NoSuchFieldError; -> 0x003c │ │ 0x0014 - 0x001f │ │ Ljava/lang/NoSuchFieldError; -> 0x003a │ │ 0x001f - 0x002a │ │ Ljava/lang/NoSuchFieldError; -> 0x0038 │ │ 0x002a - 0x0035 │ │ Ljava/lang/NoSuchFieldError; -> 0x0036 │ │ positions : │ │ 0x0000 line=104 │ │ locals : │ │ │ │ Virtual methods - │ │ - source_file_idx : 628 (SyncNowActivity.java) │ │ - │ │ -Class #87 header: │ │ -class_idx : 185 │ │ -access_flags : 1536 (0x0600) │ │ -superclass_idx : 243 │ │ -source_file_idx : 629 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 0 │ │ -direct_methods_size : 0 │ │ -virtual_methods_size: 2 │ │ - │ │ -Class #87 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1544 name="Presenter" │ │ - │ │ -Class #87 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;' │ │ - Access flags : 0x0600 (INTERFACE ABSTRACT) │ │ - Superclass : 'Ljava/lang/Object;' │ │ - Interfaces - │ │ - Static fields - │ │ - Instance fields - │ │ - Direct methods - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;) │ │ - name : 'onDone' │ │ - type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V' │ │ - access : 0x0401 (PUBLIC ABSTRACT) │ │ - code : (none) │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;) │ │ - name : 'onStarted' │ │ - type : '()V' │ │ - access : 0x0401 (PUBLIC ABSTRACT) │ │ - code : (none) │ │ - │ │ - source_file_idx : 629 (SyncNowController.java) │ │ - │ │ -Class #88 header: │ │ -class_idx : 180 │ │ -access_flags : 1 (0x0001) │ │ -superclass_idx : 8 │ │ -source_file_idx : 628 │ │ -static_fields_size : 0 │ │ -instance_fields_size: 2 │ │ -direct_methods_size : 4 │ │ -virtual_methods_size: 6 │ │ - │ │ -Class #88 annotations: │ │ -Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5; } │ │ - │ │ -Class #88 - │ │ - Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;' │ │ - Access flags : 0x0001 (PUBLIC) │ │ - Superclass : 'Landroid/app/Activity;' │ │ - Interfaces - │ │ - #0 : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;' │ │ - Static fields - │ │ - Instance fields - │ │ - #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'mController' │ │ - type : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController;' │ │ - access : 0x0002 (PRIVATE) │ │ - #1 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'mProgressDialog' │ │ - type : 'Landroid/app/Dialog;' │ │ - access : 0x0002 (PRIVATE) │ │ - Direct methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : '' │ │ - type : '()V' │ │ - access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ - code - │ │ - registers : 1 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 4 16-bit code units │ │ -00de74: |[00de74] com.google.android.apps.authenticator.timesync.SyncNowActivity.:()V │ │ -00de84: 7010 0200 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0002 │ │ -00de8a: 0e00 |0003: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=36 │ │ - 0x0003 line=154 │ │ - locals : │ │ - 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'access$000' │ │ - type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)Lcom/google/android/apps/authenticator/timesync/SyncNowController;' │ │ - access : 0x1008 (STATIC SYNTHETIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -00de8c: |[00de8c] com.google.android.apps.authenticator.timesync.SyncNowActivity.access$000:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ -00de9c: 5410 d500 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ -00dea0: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=36 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - │ │ - #2 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'dismissInProgressDialog' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 13 16-bit code units │ │ -00dea4: |[00dea4] com.google.android.apps.authenticator.timesync.SyncNowActivity.dismissInProgressDialog:()V │ │ -00deb4: 5410 d600 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ -00deb8: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ -00debc: 5410 d600 |0004: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ -00dec0: 6e10 1800 0000 |0006: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0018 │ │ -00dec6: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -00dec8: 5b10 d600 |000a: iput-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ -00decc: 0e00 |000c: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=183 │ │ - 0x0004 line=184 │ │ - 0x0009 line=185 │ │ - 0x000c line=187 │ │ - locals : │ │ - 0x0000 - 0x000d reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'showInProgressDialog' │ │ - type : '()V' │ │ - access : 0x0002 (PRIVATE) │ │ - code - │ │ - registers : 4 │ │ - ins : 1 │ │ - outs : 5 │ │ - insns size : 32 16-bit code units │ │ -00ded0: |[00ded0] com.google.android.apps.authenticator.timesync.SyncNowActivity.showInProgressDialog:()V │ │ -00dee0: 1212 |0000: const/4 v2, #int 1 // #1 │ │ -00dee2: 1400 4c00 067f |0001: const v0, #float 1.78118e+38 // #7f06004c │ │ -00dee8: 6e20 a902 0300 |0004: invoke-virtual {v3, v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.getString:(I)Ljava/lang/String; // method@02a9 │ │ -00deee: 0c00 |0007: move-result-object v0 │ │ -00def0: 1401 4d00 067f |0008: const v1, #float 1.78118e+38 // #7f06004d │ │ -00def6: 6e20 a902 1300 |000b: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.getString:(I)Ljava/lang/String; // method@02a9 │ │ -00defc: 0c01 |000e: move-result-object v1 │ │ -00defe: 7152 1b00 0321 |000f: invoke-static {v3, v0, v1, v2, v2}, Landroid/app/ProgressDialog;.show:(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZZ)Landroid/app/ProgressDialog; // method@001b │ │ -00df04: 0c00 |0012: move-result-object v0 │ │ -00df06: 5b30 d600 |0013: iput-object v0, v3, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ -00df0a: 5430 d600 |0015: iget-object v0, v3, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ -00df0e: 2201 b200 |0017: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4; // type@00b2 │ │ -00df12: 7020 a102 3100 |0019: invoke-direct {v1, v3}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V // method@02a1 │ │ -00df18: 6e20 1900 1000 |001c: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setOnCancelListener:(Landroid/content/DialogInterface$OnCancelListener;)V // method@0019 │ │ -00df1e: 0e00 |001f: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0001 line=162 │ │ - 0x0015 line=168 │ │ - 0x001f line=174 │ │ - locals : │ │ - 0x0000 - 0x0020 reg=3 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - │ │ - Virtual methods - │ │ - #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'onBackPressed' │ │ - type : '()V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 6 16-bit code units │ │ -00df20: |[00df20] com.google.android.apps.authenticator.timesync.SyncNowActivity.onBackPressed:()V │ │ -00df30: 5410 d500 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ -00df34: 6e20 c702 1000 |0002: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.abort:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V // method@02c7 │ │ -00df3a: 0e00 |0005: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=80 │ │ - 0x0005 line=81 │ │ - locals : │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - │ │ - #1 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'onCreate' │ │ - type : '(Landroid/os/Bundle;)V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 6 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 44 16-bit code units │ │ -00df3c: |[00df3c] com.google.android.apps.authenticator.timesync.SyncNowActivity.onCreate:(Landroid/os/Bundle;)V │ │ -00df4c: 6f20 0300 5400 |0000: invoke-super {v4, v5}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0003 │ │ -00df52: 6e10 a802 0400 |0003: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.getLastNonConfigurationInstance:()Ljava/lang/Object; // method@02a8 │ │ -00df58: 0c00 |0006: move-result-object v0 │ │ -00df5a: 3800 1000 |0007: if-eqz v0, 0017 // +0010 │ │ -00df5e: 6e10 a802 0400 |0009: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.getLastNonConfigurationInstance:()Ljava/lang/Object; // method@02a8 │ │ -00df64: 0c00 |000c: move-result-object v0 │ │ -00df66: 1f00 bc00 |000d: check-cast v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController; // type@00bc │ │ -00df6a: 5b40 d500 |000f: iput-object v0, v4, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ -00df6e: 5440 d500 |0011: iget-object v0, v4, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ -00df72: 6e20 cc02 4000 |0013: invoke-virtual {v0, v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.attach:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V // method@02cc │ │ -00df78: 0e00 |0016: return-void │ │ -00df7a: 2200 bc00 |0017: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController; // type@00bc │ │ -00df7e: 7100 6c02 0000 |0019: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; // method@026c │ │ -00df84: 0c01 |001c: move-result-object v1 │ │ -00df86: 2202 ad00 |001d: new-instance v2, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; // type@00ad │ │ -00df8a: 7100 6702 0000 |001f: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getHttpClient:()Lorg/apache/http/client/HttpClient; // method@0267 │ │ -00df90: 0c03 |0022: move-result-object v3 │ │ -00df92: 7020 9602 3200 |0023: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.:(Lorg/apache/http/client/HttpClient;)V // method@0296 │ │ -00df98: 7030 c502 1002 |0026: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.:(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;)V // method@02c5 │ │ -00df9e: 5b40 d500 |0029: iput-object v0, v4, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ -00dfa2: 28e6 |002b: goto 0011 // -001a │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=52 │ │ - 0x0003 line=54 │ │ - 0x0009 line=55 │ │ - 0x0011 line=62 │ │ - 0x0016 line=63 │ │ - 0x0017 line=57 │ │ - locals : │ │ - 0x0000 - 0x002c reg=4 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - 0x0000 - 0x002c reg=5 savedInstanceState Landroid/os/Bundle; │ │ + source_file_idx : 625 (SyncNowActivity.java) │ │ │ │ - #2 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'onDone' │ │ - type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 7 │ │ - ins : 2 │ │ - outs : 3 │ │ - insns size : 192 16-bit code units │ │ -00dfa4: |[00dfa4] com.google.android.apps.authenticator.timesync.SyncNowActivity.onDone:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V │ │ -00dfb4: 1404 9b00 0801 |0000: const v4, #float 2.49797e-38 // #0108009b │ │ -00dfba: 1403 3700 067f |0003: const v3, #float 1.78118e+38 // #7f060037 │ │ -00dfc0: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -00dfc2: 6e10 aa02 0500 |0007: invoke-virtual {v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.isFinishing:()Z // method@02aa │ │ -00dfc8: 0a00 |000a: move-result v0 │ │ -00dfca: 3800 0300 |000b: if-eqz v0, 000e // +0003 │ │ -00dfce: 0e00 |000d: return-void │ │ -00dfd0: 7010 a602 0500 |000e: invoke-direct {v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.dismissInProgressDialog:()V // method@02a6 │ │ -00dfd6: 6200 d400 |0011: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ -00dfda: 6e10 bd02 0600 |0013: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ -00dfe0: 0a01 |0016: move-result v1 │ │ -00dfe2: 4400 0001 |0017: aget v0, v0, v1 │ │ -00dfe6: 2b00 9b00 0000 |0019: packed-switch v0, 000000b4 // +0000009b │ │ -00dfec: 2200 e900 |001c: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ -00dff0: 7110 5203 0600 |001e: invoke-static {v6}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ -00dff6: 0c01 |0021: move-result-object v1 │ │ -00dff8: 7020 2603 1000 |0022: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ -00dffe: 2700 |0025: throw v0 │ │ -00e000: 2200 0900 |0026: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0009 │ │ -00e004: 7020 0700 5000 |0028: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ -00e00a: 6e20 0900 2000 |002b: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@0009 │ │ -00e010: 0c00 |002e: move-result-object v0 │ │ -00e012: 1401 5000 067f |002f: const v1, #float 1.78118e+38 // #7f060050 │ │ -00e018: 6e20 1000 1000 |0032: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ -00e01e: 0c00 |0035: move-result-object v0 │ │ -00e020: 1401 5100 067f |0036: const v1, #float 1.78118e+38 // #7f060051 │ │ -00e026: 6e20 0b00 1000 |0039: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ -00e02c: 0c00 |003c: move-result-object v0 │ │ -00e02e: 6e20 0a00 4000 |003d: invoke-virtual {v0, v4}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ -00e034: 0c00 |0040: move-result-object v0 │ │ -00e036: 2201 af00 |0041: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1; // type@00af │ │ -00e03a: 7020 9b02 5100 |0043: invoke-direct {v1, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V // method@029b │ │ -00e040: 6e30 0e00 3001 |0046: invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;.setNeutralButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e │ │ -00e046: 0c00 |0049: move-result-object v0 │ │ -00e048: 6e10 0800 0000 |004a: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ -00e04e: 0c00 |004d: move-result-object v0 │ │ -00e050: 6e10 1400 0000 |004e: invoke-virtual {v0}, Landroid/app/AlertDialog;.show:()V // method@0014 │ │ -00e056: 28bc |0051: goto 000d // -0044 │ │ -00e058: 2200 0900 |0052: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0009 │ │ -00e05c: 7020 0700 5000 |0054: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ -00e062: 6e20 0900 2000 |0057: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@0009 │ │ -00e068: 0c00 |005a: move-result-object v0 │ │ -00e06a: 1401 4e00 067f |005b: const v1, #float 1.78118e+38 // #7f06004e │ │ -00e070: 6e20 1000 1000 |005e: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ -00e076: 0c00 |0061: move-result-object v0 │ │ -00e078: 1401 4f00 067f |0062: const v1, #float 1.78118e+38 // #7f06004f │ │ -00e07e: 6e20 0b00 1000 |0065: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ -00e084: 0c00 |0068: move-result-object v0 │ │ -00e086: 6e20 0a00 4000 |0069: invoke-virtual {v0, v4}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ -00e08c: 0c00 |006c: move-result-object v0 │ │ -00e08e: 2201 b000 |006d: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2; // type@00b0 │ │ -00e092: 7020 9d02 5100 |006f: invoke-direct {v1, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V // method@029d │ │ -00e098: 6e30 0e00 3001 |0072: invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;.setNeutralButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e │ │ -00e09e: 0c00 |0075: move-result-object v0 │ │ -00e0a0: 6e10 0800 0000 |0076: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ -00e0a6: 0c00 |0079: move-result-object v0 │ │ -00e0a8: 6e10 1400 0000 |007a: invoke-virtual {v0}, Landroid/app/AlertDialog;.show:()V // method@0014 │ │ -00e0ae: 2890 |007d: goto 000d // -0070 │ │ -00e0b0: 2200 0900 |007e: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0009 │ │ -00e0b4: 7020 0700 5000 |0080: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ -00e0ba: 6e20 0900 2000 |0083: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@0009 │ │ -00e0c0: 0c00 |0086: move-result-object v0 │ │ -00e0c2: 1401 5200 067f |0087: const v1, #float 1.78118e+38 // #7f060052 │ │ -00e0c8: 6e20 1000 1000 |008a: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ -00e0ce: 0c00 |008d: move-result-object v0 │ │ -00e0d0: 1401 5300 067f |008e: const v1, #float 1.78118e+38 // #7f060053 │ │ -00e0d6: 6e20 0b00 1000 |0091: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ -00e0dc: 0c00 |0094: move-result-object v0 │ │ -00e0de: 1401 2700 0801 |0095: const v1, #float 2.49794e-38 // #01080027 │ │ -00e0e4: 6e20 0a00 1000 |0098: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ -00e0ea: 0c00 |009b: move-result-object v0 │ │ -00e0ec: 2201 b100 |009c: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3; // type@00b1 │ │ -00e0f0: 7020 9f02 5100 |009e: invoke-direct {v1, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V // method@029f │ │ -00e0f6: 6e30 0e00 3001 |00a1: invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;.setNeutralButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e │ │ -00e0fc: 0c00 |00a4: move-result-object v0 │ │ -00e0fe: 6e10 0800 0000 |00a5: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ -00e104: 0c00 |00a8: move-result-object v0 │ │ -00e106: 6e10 1400 0000 |00a9: invoke-virtual {v0}, Landroid/app/AlertDialog;.show:()V // method@0014 │ │ -00e10c: 2900 61ff |00ac: goto/16 000d // -009f │ │ -00e110: 6e10 a702 0500 |00ae: invoke-virtual {v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.finish:()V // method@02a7 │ │ -00e116: 2900 5cff |00b1: goto/16 000d // -00a4 │ │ -00e11a: 0000 |00b3: nop // spacer │ │ -00e11c: 0001 0400 0100 0000 0d00 0000 3900 ... |00b4: packed-switch-data (12 units) │ │ - catches : (none) │ │ - positions : │ │ - 0x0007 line=97 │ │ - 0x000d line=156 │ │ - 0x000e line=102 │ │ - 0x0011 line=104 │ │ - 0x001c line=154 │ │ - 0x0026 line=106 │ │ - 0x0052 line=121 │ │ - 0x007e line=136 │ │ - 0x00ae line=151 │ │ - 0x00b3 line=104 │ │ - locals : │ │ - 0x0000 - 0x00c0 reg=5 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - 0x0000 - 0x00c0 reg=6 result Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; │ │ - │ │ - #3 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'onRetainNonConfigurationInstance' │ │ - type : '()Ljava/lang/Object;' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 0 │ │ - insns size : 3 16-bit code units │ │ -00e134: |[00e134] com.google.android.apps.authenticator.timesync.SyncNowActivity.onRetainNonConfigurationInstance:()Ljava/lang/Object; │ │ -00e144: 5410 d500 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ -00e148: 1100 |0002: return-object v0 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=75 │ │ - locals : │ │ - 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - │ │ - #4 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'onStarted' │ │ - type : '()V' │ │ - access : 0x0001 (PUBLIC) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 1 │ │ - insns size : 11 16-bit code units │ │ -00e14c: |[00e14c] com.google.android.apps.authenticator.timesync.SyncNowActivity.onStarted:()V │ │ -00e15c: 6e10 aa02 0100 |0000: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.isFinishing:()Z // method@02aa │ │ -00e162: 0a00 |0003: move-result v0 │ │ -00e164: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ -00e168: 0e00 |0006: return-void │ │ -00e16a: 7010 b102 0100 |0007: invoke-direct {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.showInProgressDialog:()V // method@02b1 │ │ -00e170: 28fc |000a: goto 0006 // -0004 │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=87 │ │ - 0x0006 line=93 │ │ - 0x0007 line=92 │ │ - locals : │ │ - 0x0000 - 0x000b reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - │ │ - #5 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ - name : 'onStop' │ │ - type : '()V' │ │ - access : 0x0004 (PROTECTED) │ │ - code - │ │ - registers : 2 │ │ - ins : 1 │ │ - outs : 2 │ │ - insns size : 15 16-bit code units │ │ -00e174: |[00e174] com.google.android.apps.authenticator.timesync.SyncNowActivity.onStop:()V │ │ -00e184: 6e10 aa02 0100 |0000: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.isFinishing:()Z // method@02aa │ │ -00e18a: 0a00 |0003: move-result v0 │ │ -00e18c: 3800 0700 |0004: if-eqz v0, 000b // +0007 │ │ -00e190: 5410 d500 |0006: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ -00e194: 6e20 cd02 1000 |0008: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.detach:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V // method@02cd │ │ -00e19a: 6f10 0400 0100 |000b: invoke-super {v1}, Landroid/app/Activity;.onStop:()V // method@0004 │ │ -00e1a0: 0e00 |000e: return-void │ │ - catches : (none) │ │ - positions : │ │ - 0x0000 line=67 │ │ - 0x0006 line=68 │ │ - 0x000b line=70 │ │ - 0x000e line=71 │ │ - locals : │ │ - 0x0000 - 0x000f reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ - │ │ - source_file_idx : 628 (SyncNowActivity.java) │ │ - │ │ -Class #89 header: │ │ +Class #65 header: │ │ class_idx : 181 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 629 │ │ +source_file_idx : 626 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #89 annotations: │ │ +Class #65 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=start │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #89 - │ │ +Class #65 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Ljava/lang/Runnable;' │ │ Static fields - │ │ Instance fields - │ │ @@ -17550,67 +11052,67 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00e1a4: |[00e1a4] com.google.android.apps.authenticator.timesync.SyncNowController$1.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V │ │ -00e1b4: 5b01 d700 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d7 │ │ -00e1b8: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00e1be: 0e00 |0005: return-void │ │ +00da48: |[00da48] com.google.android.apps.authenticator.timesync.SyncNowController$1.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V │ │ +00da58: 5b01 d700 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d7 │ │ +00da5c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00da62: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=165 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowController$1; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;) │ │ name : 'run' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -00e1c0: |[00e1c0] com.google.android.apps.authenticator.timesync.SyncNowController$1.run:()V │ │ -00e1d0: 5420 d700 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d7 │ │ -00e1d4: 5421 d700 |0002: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d7 │ │ -00e1d8: 7110 c802 0100 |0004: invoke-static {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.access$000:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)Ljava/util/concurrent/Executor; // method@02c8 │ │ -00e1de: 0c01 |0007: move-result-object v1 │ │ -00e1e0: 7120 c902 1000 |0008: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.access$100:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Ljava/util/concurrent/Executor;)V // method@02c9 │ │ -00e1e6: 0e00 |000b: return-void │ │ +00da64: |[00da64] com.google.android.apps.authenticator.timesync.SyncNowController$1.run:()V │ │ +00da74: 5420 d700 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d7 │ │ +00da78: 5421 d700 |0002: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d7 │ │ +00da7c: 7110 c802 0100 |0004: invoke-static {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.access$000:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)Ljava/util/concurrent/Executor; // method@02c8 │ │ +00da82: 0c01 |0007: move-result-object v1 │ │ +00da84: 7120 c902 1000 |0008: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.access$100:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Ljava/util/concurrent/Executor;)V // method@02c9 │ │ +00da8a: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=168 │ │ 0x000b line=169 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lcom/google/android/apps/authenticator/timesync/SyncNowController$1; │ │ │ │ - source_file_idx : 629 (SyncNowController.java) │ │ + source_file_idx : 626 (SyncNowController.java) │ │ │ │ -Class #90 header: │ │ +Class #66 header: │ │ class_idx : 182 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 629 │ │ +source_file_idx : 626 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #90 annotations: │ │ +Class #66 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=runBackgroundSyncAndPostResult │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #90 - │ │ +Class #66 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$2;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Ljava/lang/Runnable;' │ │ Static fields - │ │ Instance fields - │ │ @@ -17624,65 +11126,65 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00e1e8: |[00e1e8] com.google.android.apps.authenticator.timesync.SyncNowController$2.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V │ │ -00e1f8: 5b01 d800 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$2;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d8 │ │ -00e1fc: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00e202: 0e00 |0005: return-void │ │ +00da8c: |[00da8c] com.google.android.apps.authenticator.timesync.SyncNowController$2.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V │ │ +00da9c: 5b01 d800 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$2;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d8 │ │ +00daa0: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00daa6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=231 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowController$2; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$2;) │ │ name : 'run' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -00e204: |[00e204] com.google.android.apps.authenticator.timesync.SyncNowController$2.run:()V │ │ -00e214: 5420 d800 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$2;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d8 │ │ -00e218: 6201 de00 |0002: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ERROR_CONNECTIVITY_ISSUE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00de │ │ -00e21c: 7120 ca02 1000 |0004: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.access$200:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ca │ │ -00e222: 0e00 |0007: return-void │ │ +00daa8: |[00daa8] com.google.android.apps.authenticator.timesync.SyncNowController$2.run:()V │ │ +00dab8: 5420 d800 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$2;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d8 │ │ +00dabc: 6201 de00 |0002: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ERROR_CONNECTIVITY_ISSUE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00de │ │ +00dac0: 7120 ca02 1000 |0004: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.access$200:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ca │ │ +00dac6: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=234 │ │ 0x0007 line=235 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lcom/google/android/apps/authenticator/timesync/SyncNowController$2; │ │ │ │ - source_file_idx : 629 (SyncNowController.java) │ │ + source_file_idx : 626 (SyncNowController.java) │ │ │ │ -Class #91 header: │ │ +Class #67 header: │ │ class_idx : 183 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 629 │ │ +source_file_idx : 626 │ │ static_fields_size : 0 │ │ instance_fields_size: 2 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #91 annotations: │ │ +Class #67 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=runBackgroundSyncAndPostResult │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #91 - │ │ +Class #67 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Ljava/lang/Runnable;' │ │ Static fields - │ │ Instance fields - │ │ @@ -17700,67 +11202,67 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -00e224: |[00e224] com.google.android.apps.authenticator.timesync.SyncNowController$3.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V │ │ -00e234: 5b01 d900 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d9 │ │ -00e238: 5902 da00 |0002: iput v2, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.val$timeCorrectionMinutes:I // field@00da │ │ -00e23c: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00e242: 0e00 |0007: return-void │ │ +00dac8: |[00dac8] com.google.android.apps.authenticator.timesync.SyncNowController$3.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V │ │ +00dad8: 5b01 d900 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d9 │ │ +00dadc: 5902 da00 |0002: iput v2, v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.val$timeCorrectionMinutes:I // field@00da │ │ +00dae0: 7010 3a03 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00dae6: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=243 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowController$3; │ │ - 0x0000 - 0x0008 reg=1 (null) Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ + 0x0000 - 0x0008 reg=1 this$0 Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ 0x0000 - 0x0008 reg=2 (null) I │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;) │ │ name : 'run' │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -00e244: |[00e244] com.google.android.apps.authenticator.timesync.SyncNowController$3.run:()V │ │ -00e254: 5420 d900 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d9 │ │ -00e258: 5221 da00 |0002: iget v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.val$timeCorrectionMinutes:I // field@00da │ │ -00e25c: 7120 cb02 1000 |0004: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.access$300:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V // method@02cb │ │ -00e262: 0e00 |0007: return-void │ │ +00dae8: |[00dae8] com.google.android.apps.authenticator.timesync.SyncNowController$3.run:()V │ │ +00daf8: 5420 d900 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d9 │ │ +00dafc: 5221 da00 |0002: iget v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.val$timeCorrectionMinutes:I // field@00da │ │ +00db00: 7120 cb02 1000 |0004: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.access$300:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V // method@02cb │ │ +00db06: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=246 │ │ 0x0007 line=247 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lcom/google/android/apps/authenticator/timesync/SyncNowController$3; │ │ │ │ - source_file_idx : 629 (SyncNowController.java) │ │ + source_file_idx : 626 (SyncNowController.java) │ │ │ │ -Class #92 header: │ │ +Class #68 header: │ │ class_idx : 184 │ │ access_flags : 4096 (0x1000) │ │ superclass_idx : 243 │ │ -source_file_idx : 629 │ │ +source_file_idx : 626 │ │ static_fields_size : 1 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #92 annotations: │ │ +Class #68 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=4104 name=null │ │ │ │ -Class #92 - │ │ +Class #68 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;' │ │ Access flags : 0x1000 (SYNTHETIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;) │ │ name : '$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State' │ │ @@ -17773,78 +11275,116 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 49 16-bit code units │ │ -00e264: |[00e264] com.google.android.apps.authenticator.timesync.SyncNowController$4.:()V │ │ -00e274: 7100 c402 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.values:()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // method@02c4 │ │ -00e27a: 0c00 |0003: move-result-object v0 │ │ -00e27c: 2100 |0004: array-length v0, v0 │ │ -00e27e: 2300 2e01 |0005: new-array v0, v0, [I // type@012e │ │ -00e282: 6900 db00 |0007: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ -00e286: 6200 db00 |0009: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ -00e28a: 6201 e400 |000b: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.NOT_STARTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e4 │ │ -00e28e: 6e10 c202 0100 |000d: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ -00e294: 0a01 |0010: move-result v1 │ │ -00e296: 1212 |0011: const/4 v2, #int 1 // #1 │ │ -00e298: 4b02 0001 |0012: aput v2, v0, v1 │ │ -00e29c: 6200 db00 |0014: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ -00e2a0: 6201 e300 |0016: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ -00e2a4: 6e10 c202 0100 |0018: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ -00e2aa: 0a01 |001b: move-result v1 │ │ -00e2ac: 1222 |001c: const/4 v2, #int 2 // #2 │ │ -00e2ae: 4b02 0001 |001d: aput v2, v0, v1 │ │ -00e2b2: 6200 db00 |001f: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ -00e2b6: 6201 e200 |0021: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ -00e2ba: 6e10 c202 0100 |0023: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ -00e2c0: 0a01 |0026: move-result v1 │ │ -00e2c2: 1232 |0027: const/4 v2, #int 3 // #3 │ │ -00e2c4: 4b02 0001 |0028: aput v2, v0, v1 │ │ -00e2c8: 0e00 |002a: return-void │ │ -00e2ca: 0d00 |002b: move-exception v0 │ │ -00e2cc: 28fe |002c: goto 002a // -0002 │ │ -00e2ce: 0d00 |002d: move-exception v0 │ │ -00e2d0: 28f1 |002e: goto 001f // -000f │ │ -00e2d2: 0d00 |002f: move-exception v0 │ │ -00e2d4: 28e4 |0030: goto 0014 // -001c │ │ +00db08: |[00db08] com.google.android.apps.authenticator.timesync.SyncNowController$4.:()V │ │ +00db18: 7100 c402 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.values:()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // method@02c4 │ │ +00db1e: 0c00 |0003: move-result-object v0 │ │ +00db20: 2100 |0004: array-length v0, v0 │ │ +00db22: 2300 2e01 |0005: new-array v0, v0, [I // type@012e │ │ +00db26: 6900 db00 |0007: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ +00db2a: 6200 db00 |0009: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ +00db2e: 6201 e400 |000b: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.NOT_STARTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e4 │ │ +00db32: 6e10 c202 0100 |000d: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ +00db38: 0a01 |0010: move-result v1 │ │ +00db3a: 1212 |0011: const/4 v2, #int 1 // #1 │ │ +00db3c: 4b02 0001 |0012: aput v2, v0, v1 │ │ +00db40: 6200 db00 |0014: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ +00db44: 6201 e300 |0016: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ +00db48: 6e10 c202 0100 |0018: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ +00db4e: 0a01 |001b: move-result v1 │ │ +00db50: 1222 |001c: const/4 v2, #int 2 // #2 │ │ +00db52: 4b02 0001 |001d: aput v2, v0, v1 │ │ +00db56: 6200 db00 |001f: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ +00db5a: 6201 e200 |0021: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ +00db5e: 6e10 c202 0100 |0023: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ +00db64: 0a01 |0026: move-result v1 │ │ +00db66: 1232 |0027: const/4 v2, #int 3 // #3 │ │ +00db68: 4b02 0001 |0028: aput v2, v0, v1 │ │ +00db6c: 0e00 |002a: return-void │ │ +00db6e: 0d00 |002b: move-exception v0 │ │ +00db70: 28fe |002c: goto 002a // -0002 │ │ +00db72: 0d00 |002d: move-exception v0 │ │ +00db74: 28f1 |002e: goto 001f // -000f │ │ +00db76: 0d00 |002f: move-exception v0 │ │ +00db78: 28e4 |0030: goto 0014 // -001c │ │ catches : 3 │ │ 0x0009 - 0x0014 │ │ Ljava/lang/NoSuchFieldError; -> 0x002f │ │ 0x0014 - 0x001f │ │ Ljava/lang/NoSuchFieldError; -> 0x002d │ │ 0x001f - 0x002a │ │ Ljava/lang/NoSuchFieldError; -> 0x002b │ │ positions : │ │ 0x0000 line=105 │ │ locals : │ │ │ │ Virtual methods - │ │ - source_file_idx : 629 (SyncNowController.java) │ │ + source_file_idx : 626 (SyncNowController.java) │ │ │ │ -Class #93 header: │ │ +Class #69 header: │ │ +class_idx : 185 │ │ +access_flags : 1536 (0x0600) │ │ +superclass_idx : 243 │ │ +source_file_idx : 626 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 0 │ │ +virtual_methods_size: 2 │ │ + │ │ +Class #69 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1544 name="Presenter" │ │ + │ │ +Class #69 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;' │ │ + Access flags : 0x0600 (INTERFACE ABSTRACT) │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;) │ │ + name : 'onDone' │ │ + type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V' │ │ + access : 0x0401 (PUBLIC ABSTRACT) │ │ + code : (none) │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;) │ │ + name : 'onStarted' │ │ + type : '()V' │ │ + access : 0x0401 (PUBLIC ABSTRACT) │ │ + code : (none) │ │ + │ │ + source_file_idx : 626 (SyncNowController.java) │ │ + │ │ +Class #70 header: │ │ class_idx : 186 │ │ access_flags : 16400 (0x4010) │ │ superclass_idx : 229 │ │ -source_file_idx : 629 │ │ +source_file_idx : 626 │ │ static_fields_size : 5 │ │ instance_fields_size: 0 │ │ direct_methods_size : 4 │ │ virtual_methods_size: 0 │ │ │ │ -Class #93 annotations: │ │ +Class #70 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=16408 name="Result" │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/Enum" "<" "Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;" ">;" } │ │ Annotations on method #700 '' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "()V" } │ │ │ │ -Class #93 - │ │ +Class #70 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;' │ │ Access flags : 0x4010 (FINAL ENUM) │ │ Superclass : 'Ljava/lang/Enum;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;) │ │ name : '$VALUES' │ │ @@ -17873,47 +11413,47 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 62 16-bit code units │ │ -00e300: |[00e300] com.google.android.apps.authenticator.timesync.SyncNowController$Result.:()V │ │ -00e310: 1235 |0000: const/4 v5, #int 3 // #3 │ │ -00e312: 1224 |0001: const/4 v4, #int 2 // #2 │ │ -00e314: 1213 |0002: const/4 v3, #int 1 // #1 │ │ -00e316: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -00e318: 2200 ba00 |0004: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ -00e31c: 1a01 7902 |0006: const-string v1, "TIME_CORRECTED" // string@0279 │ │ -00e320: 7030 bc02 1002 |0008: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.:(Ljava/lang/String;I)V // method@02bc │ │ -00e326: 6900 e000 |000b: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_CORRECTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00e0 │ │ -00e32a: 2200 ba00 |000d: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ -00e32e: 1a01 7802 |000f: const-string v1, "TIME_ALREADY_CORRECT" // string@0278 │ │ -00e332: 7030 bc02 1003 |0011: invoke-direct {v0, v1, v3}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.:(Ljava/lang/String;I)V // method@02bc │ │ -00e338: 6900 df00 |0014: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_ALREADY_CORRECT:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00df │ │ -00e33c: 2200 ba00 |0016: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ -00e340: 1a01 5600 |0018: const-string v1, "CANCELLED_BY_USER" // string@0056 │ │ -00e344: 7030 bc02 1004 |001a: invoke-direct {v0, v1, v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.:(Ljava/lang/String;I)V // method@02bc │ │ -00e34a: 6900 dd00 |001d: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.CANCELLED_BY_USER:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dd │ │ -00e34e: 2200 ba00 |001f: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ -00e352: 1a01 7e00 |0021: const-string v1, "ERROR_CONNECTIVITY_ISSUE" // string@007e │ │ -00e356: 7030 bc02 1005 |0023: invoke-direct {v0, v1, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.:(Ljava/lang/String;I)V // method@02bc │ │ -00e35c: 6900 de00 |0026: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ERROR_CONNECTIVITY_ISSUE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00de │ │ -00e360: 1240 |0028: const/4 v0, #int 4 // #4 │ │ -00e362: 2300 3201 |0029: new-array v0, v0, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@0132 │ │ -00e366: 6201 e000 |002b: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_CORRECTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00e0 │ │ -00e36a: 4d01 0002 |002d: aput-object v1, v0, v2 │ │ -00e36e: 6201 df00 |002f: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_ALREADY_CORRECT:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00df │ │ -00e372: 4d01 0003 |0031: aput-object v1, v0, v3 │ │ -00e376: 6201 dd00 |0033: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.CANCELLED_BY_USER:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dd │ │ -00e37a: 4d01 0004 |0035: aput-object v1, v0, v4 │ │ -00e37e: 6201 de00 |0037: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ERROR_CONNECTIVITY_ISSUE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00de │ │ -00e382: 4d01 0005 |0039: aput-object v1, v0, v5 │ │ -00e386: 6900 dc00 |003b: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.$VALUES:[Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dc │ │ -00e38a: 0e00 |003d: return-void │ │ +00dba4: |[00dba4] com.google.android.apps.authenticator.timesync.SyncNowController$Result.:()V │ │ +00dbb4: 1235 |0000: const/4 v5, #int 3 // #3 │ │ +00dbb6: 1224 |0001: const/4 v4, #int 2 // #2 │ │ +00dbb8: 1213 |0002: const/4 v3, #int 1 // #1 │ │ +00dbba: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +00dbbc: 2200 ba00 |0004: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ +00dbc0: 1a01 7602 |0006: const-string v1, "TIME_CORRECTED" // string@0276 │ │ +00dbc4: 7030 bc02 1002 |0008: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.:(Ljava/lang/String;I)V // method@02bc │ │ +00dbca: 6900 e000 |000b: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_CORRECTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00e0 │ │ +00dbce: 2200 ba00 |000d: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ +00dbd2: 1a01 7502 |000f: const-string v1, "TIME_ALREADY_CORRECT" // string@0275 │ │ +00dbd6: 7030 bc02 1003 |0011: invoke-direct {v0, v1, v3}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.:(Ljava/lang/String;I)V // method@02bc │ │ +00dbdc: 6900 df00 |0014: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_ALREADY_CORRECT:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00df │ │ +00dbe0: 2200 ba00 |0016: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ +00dbe4: 1a01 5600 |0018: const-string v1, "CANCELLED_BY_USER" // string@0056 │ │ +00dbe8: 7030 bc02 1004 |001a: invoke-direct {v0, v1, v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.:(Ljava/lang/String;I)V // method@02bc │ │ +00dbee: 6900 dd00 |001d: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.CANCELLED_BY_USER:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dd │ │ +00dbf2: 2200 ba00 |001f: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ +00dbf6: 1a01 7e00 |0021: const-string v1, "ERROR_CONNECTIVITY_ISSUE" // string@007e │ │ +00dbfa: 7030 bc02 1005 |0023: invoke-direct {v0, v1, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.:(Ljava/lang/String;I)V // method@02bc │ │ +00dc00: 6900 de00 |0026: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ERROR_CONNECTIVITY_ISSUE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00de │ │ +00dc04: 1240 |0028: const/4 v0, #int 4 // #4 │ │ +00dc06: 2300 3201 |0029: new-array v0, v0, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@0132 │ │ +00dc0a: 6201 e000 |002b: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_CORRECTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00e0 │ │ +00dc0e: 4d01 0002 |002d: aput-object v1, v0, v2 │ │ +00dc12: 6201 df00 |002f: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_ALREADY_CORRECT:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00df │ │ +00dc16: 4d01 0003 |0031: aput-object v1, v0, v3 │ │ +00dc1a: 6201 dd00 |0033: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.CANCELLED_BY_USER:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dd │ │ +00dc1e: 4d01 0004 |0035: aput-object v1, v0, v4 │ │ +00dc22: 6201 de00 |0037: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ERROR_CONNECTIVITY_ISSUE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00de │ │ +00dc26: 4d01 0005 |0039: aput-object v1, v0, v5 │ │ +00dc2a: 6900 dc00 |003b: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.$VALUES:[Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dc │ │ +00dc2e: 0e00 |003d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0004 line=41 │ │ 0x000d line=42 │ │ 0x0016 line=43 │ │ 0x001f line=44 │ │ 0x0028 line=40 │ │ @@ -17924,17 +11464,17 @@ │ │ type : '(Ljava/lang/String;I)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -00e38c: |[00e38c] com.google.android.apps.authenticator.timesync.SyncNowController$Result.:(Ljava/lang/String;I)V │ │ -00e39c: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ -00e3a2: 0e00 |0003: return-void │ │ +00dc30: |[00dc30] com.google.android.apps.authenticator.timesync.SyncNowController$Result.:(Ljava/lang/String;I)V │ │ +00dc40: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ +00dc46: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -17944,20 +11484,20 @@ │ │ type : '(Ljava/lang/String;)Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -00e3a4: |[00e3a4] com.google.android.apps.authenticator.timesync.SyncNowController$Result.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; │ │ -00e3b4: 1c00 ba00 |0000: const-class v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ -00e3b8: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ -00e3be: 0c00 |0005: move-result-object v0 │ │ -00e3c0: 1f00 ba00 |0006: check-cast v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ -00e3c4: 1100 |0008: return-object v0 │ │ +00dc48: |[00dc48] com.google.android.apps.authenticator.timesync.SyncNowController$Result.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; │ │ +00dc58: 1c00 ba00 |0000: const-class v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ +00dc5c: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ +00dc62: 0c00 |0005: move-result-object v0 │ │ +00dc64: 1f00 ba00 |0006: check-cast v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@00ba │ │ +00dc68: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 name Ljava/lang/String; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;) │ │ @@ -17965,47 +11505,47 @@ │ │ type : '()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00e3c8: |[00e3c8] com.google.android.apps.authenticator.timesync.SyncNowController$Result.values:()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; │ │ -00e3d8: 6200 dc00 |0000: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.$VALUES:[Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dc │ │ -00e3dc: 6e10 9503 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.clone:()Ljava/lang/Object; // method@0395 │ │ -00e3e2: 0c00 |0005: move-result-object v0 │ │ -00e3e4: 1f00 3201 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@0132 │ │ -00e3e8: 1100 |0008: return-object v0 │ │ +00dc6c: |[00dc6c] com.google.android.apps.authenticator.timesync.SyncNowController$Result.values:()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; │ │ +00dc7c: 6200 dc00 |0000: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.$VALUES:[Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dc │ │ +00dc80: 6e10 9503 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.clone:()Ljava/lang/Object; // method@0395 │ │ +00dc86: 0c00 |0005: move-result-object v0 │ │ +00dc88: 1f00 3201 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // type@0132 │ │ +00dc8c: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ locals : │ │ │ │ Virtual methods - │ │ - source_file_idx : 629 (SyncNowController.java) │ │ + source_file_idx : 626 (SyncNowController.java) │ │ │ │ -Class #94 header: │ │ +Class #71 header: │ │ class_idx : 187 │ │ access_flags : 16400 (0x4010) │ │ superclass_idx : 229 │ │ -source_file_idx : 629 │ │ +source_file_idx : 626 │ │ static_fields_size : 4 │ │ instance_fields_size: 0 │ │ direct_methods_size : 4 │ │ virtual_methods_size: 0 │ │ │ │ -Class #94 annotations: │ │ +Class #71 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=16410 name="State" │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/Enum" "<" "Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;" ">;" } │ │ Annotations on method #705 '' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "()V" } │ │ │ │ -Class #94 - │ │ +Class #71 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;' │ │ Access flags : 0x4010 (FINAL ENUM) │ │ Superclass : 'Ljava/lang/Enum;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;) │ │ name : '$VALUES' │ │ @@ -18030,40 +11570,40 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 48 16-bit code units │ │ -00e3ec: |[00e3ec] com.google.android.apps.authenticator.timesync.SyncNowController$State.:()V │ │ -00e3fc: 1224 |0000: const/4 v4, #int 2 // #2 │ │ -00e3fe: 1213 |0001: const/4 v3, #int 1 // #1 │ │ -00e400: 1202 |0002: const/4 v2, #int 0 // #0 │ │ -00e402: 2200 bb00 |0003: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ -00e406: 1a01 2b02 |0005: const-string v1, "NOT_STARTED" // string@022b │ │ -00e40a: 7030 c102 1002 |0007: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.:(Ljava/lang/String;I)V // method@02c1 │ │ -00e410: 6900 e400 |000a: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.NOT_STARTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e4 │ │ -00e414: 2200 bb00 |000c: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ -00e418: 1a01 af00 |000e: const-string v1, "IN_PROGRESS" // string@00af │ │ -00e41c: 7030 c102 1003 |0010: invoke-direct {v0, v1, v3}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.:(Ljava/lang/String;I)V // method@02c1 │ │ -00e422: 6900 e300 |0013: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ -00e426: 2200 bb00 |0015: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ -00e42a: 1a01 7600 |0017: const-string v1, "DONE" // string@0076 │ │ -00e42e: 7030 c102 1004 |0019: invoke-direct {v0, v1, v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.:(Ljava/lang/String;I)V // method@02c1 │ │ -00e434: 6900 e200 |001c: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ -00e438: 1230 |001e: const/4 v0, #int 3 // #3 │ │ -00e43a: 2300 3301 |001f: new-array v0, v0, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@0133 │ │ -00e43e: 6201 e400 |0021: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.NOT_STARTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e4 │ │ -00e442: 4d01 0002 |0023: aput-object v1, v0, v2 │ │ -00e446: 6201 e300 |0025: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ -00e44a: 4d01 0003 |0027: aput-object v1, v0, v3 │ │ -00e44e: 6201 e200 |0029: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ -00e452: 4d01 0004 |002b: aput-object v1, v0, v4 │ │ -00e456: 6900 e100 |002d: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.$VALUES:[Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e1 │ │ -00e45a: 0e00 |002f: return-void │ │ +00dc90: |[00dc90] com.google.android.apps.authenticator.timesync.SyncNowController$State.:()V │ │ +00dca0: 1224 |0000: const/4 v4, #int 2 // #2 │ │ +00dca2: 1213 |0001: const/4 v3, #int 1 // #1 │ │ +00dca4: 1202 |0002: const/4 v2, #int 0 // #0 │ │ +00dca6: 2200 bb00 |0003: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ +00dcaa: 1a01 2802 |0005: const-string v1, "NOT_STARTED" // string@0228 │ │ +00dcae: 7030 c102 1002 |0007: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.:(Ljava/lang/String;I)V // method@02c1 │ │ +00dcb4: 6900 e400 |000a: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.NOT_STARTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e4 │ │ +00dcb8: 2200 bb00 |000c: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ +00dcbc: 1a01 af00 |000e: const-string v1, "IN_PROGRESS" // string@00af │ │ +00dcc0: 7030 c102 1003 |0010: invoke-direct {v0, v1, v3}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.:(Ljava/lang/String;I)V // method@02c1 │ │ +00dcc6: 6900 e300 |0013: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ +00dcca: 2200 bb00 |0015: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ +00dcce: 1a01 7600 |0017: const-string v1, "DONE" // string@0076 │ │ +00dcd2: 7030 c102 1004 |0019: invoke-direct {v0, v1, v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.:(Ljava/lang/String;I)V // method@02c1 │ │ +00dcd8: 6900 e200 |001c: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ +00dcdc: 1230 |001e: const/4 v0, #int 3 // #3 │ │ +00dcde: 2300 3301 |001f: new-array v0, v0, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@0133 │ │ +00dce2: 6201 e400 |0021: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.NOT_STARTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e4 │ │ +00dce6: 4d01 0002 |0023: aput-object v1, v0, v2 │ │ +00dcea: 6201 e300 |0025: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ +00dcee: 4d01 0003 |0027: aput-object v1, v0, v3 │ │ +00dcf2: 6201 e200 |0029: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ +00dcf6: 4d01 0004 |002b: aput-object v1, v0, v4 │ │ +00dcfa: 6900 e100 |002d: sput-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.$VALUES:[Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e1 │ │ +00dcfe: 0e00 |002f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=58 │ │ 0x000c line=59 │ │ 0x0015 line=60 │ │ 0x001e line=57 │ │ locals : │ │ @@ -18073,17 +11613,17 @@ │ │ type : '(Ljava/lang/String;I)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -00e45c: |[00e45c] com.google.android.apps.authenticator.timesync.SyncNowController$State.:(Ljava/lang/String;I)V │ │ -00e46c: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ -00e472: 0e00 |0003: return-void │ │ +00dd00: |[00dd00] com.google.android.apps.authenticator.timesync.SyncNowController$State.:(Ljava/lang/String;I)V │ │ +00dd10: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ +00dd16: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -18093,20 +11633,20 @@ │ │ type : '(Ljava/lang/String;)Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -00e474: |[00e474] com.google.android.apps.authenticator.timesync.SyncNowController$State.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; │ │ -00e484: 1c00 bb00 |0000: const-class v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ -00e488: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ -00e48e: 0c00 |0005: move-result-object v0 │ │ -00e490: 1f00 bb00 |0006: check-cast v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ -00e494: 1100 |0008: return-object v0 │ │ +00dd18: |[00dd18] com.google.android.apps.authenticator.timesync.SyncNowController$State.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; │ │ +00dd28: 1c00 bb00 |0000: const-class v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ +00dd2c: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ +00dd32: 0c00 |0005: move-result-object v0 │ │ +00dd34: 1f00 bb00 |0006: check-cast v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@00bb │ │ +00dd38: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 name Ljava/lang/String; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;) │ │ @@ -18114,43 +11654,43 @@ │ │ type : '()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00e498: |[00e498] com.google.android.apps.authenticator.timesync.SyncNowController$State.values:()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; │ │ -00e4a8: 6200 e100 |0000: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.$VALUES:[Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e1 │ │ -00e4ac: 6e10 9603 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.clone:()Ljava/lang/Object; // method@0396 │ │ -00e4b2: 0c00 |0005: move-result-object v0 │ │ -00e4b4: 1f00 3301 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@0133 │ │ -00e4b8: 1100 |0008: return-object v0 │ │ +00dd3c: |[00dd3c] com.google.android.apps.authenticator.timesync.SyncNowController$State.values:()[Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; │ │ +00dd4c: 6200 e100 |0000: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.$VALUES:[Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e1 │ │ +00dd50: 6e10 9603 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.clone:()Ljava/lang/Object; // method@0396 │ │ +00dd56: 0c00 |0005: move-result-object v0 │ │ +00dd58: 1f00 3301 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // type@0133 │ │ +00dd5c: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ locals : │ │ │ │ Virtual methods - │ │ - source_file_idx : 629 (SyncNowController.java) │ │ + source_file_idx : 626 (SyncNowController.java) │ │ │ │ -Class #95 header: │ │ +Class #72 header: │ │ class_idx : 188 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 629 │ │ +source_file_idx : 626 │ │ static_fields_size : 1 │ │ instance_fields_size: 8 │ │ direct_methods_size : 11 │ │ virtual_methods_size: 3 │ │ │ │ -Class #95 annotations: │ │ +Class #72 annotations: │ │ Annotations on class │ │ - VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/timesync/SyncNowController$4; Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; } │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; } │ │ │ │ -Class #95 - │ │ +Class #72 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController;) │ │ name : 'LOG_TAG' │ │ @@ -18196,28 +11736,30 @@ │ │ type : '(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 6 │ │ insns size : 17 16-bit code units │ │ -00e4bc: |[00e4bc] com.google.android.apps.authenticator.timesync.SyncNowController.:(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;)V │ │ -00e4cc: 7100 7a03 0000 |0000: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService; // method@037a │ │ -00e4d2: 0c03 |0003: move-result-object v3 │ │ -00e4d4: 1214 |0004: const/4 v4, #int 1 // #1 │ │ -00e4d6: 2205 8d00 |0005: new-instance v5, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor; // type@008d │ │ -00e4da: 7010 f401 0500 |0007: invoke-direct {v5}, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor;.:()V // method@01f4 │ │ -00e4e0: 0760 |000a: move-object v0, v6 │ │ -00e4e2: 0771 |000b: move-object v1, v7 │ │ -00e4e4: 0782 |000c: move-object v2, v8 │ │ -00e4e6: 7606 c602 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.:(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;Ljava/util/concurrent/Executor;ZLjava/util/concurrent/Executor;)V // method@02c6 │ │ -00e4ec: 0e00 |0010: return-void │ │ +00dd60: |[00dd60] com.google.android.apps.authenticator.timesync.SyncNowController.:(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;)V │ │ +00dd70: 7100 7a03 0000 |0000: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService; // method@037a │ │ +00dd76: 0c03 |0003: move-result-object v3 │ │ +00dd78: 1214 |0004: const/4 v4, #int 1 // #1 │ │ +00dd7a: 2205 8d00 |0005: new-instance v5, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor; // type@008d │ │ +00dd7e: 7010 f401 0500 |0007: invoke-direct {v5}, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor;.:()V // method@01f4 │ │ +00dd84: 0760 |000a: move-object v0, v6 │ │ +00dd86: 0771 |000b: move-object v1, v7 │ │ +00dd88: 0782 |000c: move-object v2, v8 │ │ +00dd8a: 7606 c602 0000 |000d: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.:(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;Ljava/util/concurrent/Executor;ZLjava/util/concurrent/Executor;)V // method@02c6 │ │ +00dd90: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ + 0x0000 line=94 │ │ + 0x000d line=91 │ │ 0x0010 line=97 │ │ locals : │ │ 0x0000 - 0x0011 reg=6 this Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ 0x0000 - 0x0011 reg=7 totpClock Lcom/google/android/apps/authenticator/TotpClock; │ │ 0x0000 - 0x0011 reg=8 networkTimeProvider Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController;) │ │ @@ -18225,24 +11767,24 @@ │ │ type : '(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;Ljava/util/concurrent/Executor;ZLjava/util/concurrent/Executor;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 6 │ │ outs : 1 │ │ insns size : 18 16-bit code units │ │ -00e4f0: |[00e4f0] com.google.android.apps.authenticator.timesync.SyncNowController.:(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;Ljava/util/concurrent/Executor;ZLjava/util/concurrent/Executor;)V │ │ -00e500: 7010 3a03 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ -00e506: 6200 e400 |0003: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.NOT_STARTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e4 │ │ -00e50a: 5b10 ec00 |0005: iput-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ -00e50e: 5b12 ed00 |0007: iput-object v2, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00ed │ │ -00e512: 5b13 e900 |0009: iput-object v3, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mNetworkTimeProvider:Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; // field@00e9 │ │ -00e516: 5b14 e600 |000b: iput-object v4, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e6 │ │ -00e51a: 5c15 e700 |000d: iput-boolean v5, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutorServiceOwnedByThisController:Z // field@00e7 │ │ -00e51e: 5b16 e800 |000f: iput-object v6, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mCallbackFromBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e8 │ │ -00e522: 0e00 |0011: return-void │ │ +00dd94: |[00dd94] com.google.android.apps.authenticator.timesync.SyncNowController.:(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;Ljava/util/concurrent/Executor;ZLjava/util/concurrent/Executor;)V │ │ +00dda4: 7010 3a03 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@033a │ │ +00ddaa: 6200 e400 |0003: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.NOT_STARTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e4 │ │ +00ddae: 5b10 ec00 |0005: iput-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ +00ddb2: 5b12 ed00 |0007: iput-object v2, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00ed │ │ +00ddb6: 5b13 e900 |0009: iput-object v3, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mNetworkTimeProvider:Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; // field@00e9 │ │ +00ddba: 5b14 e600 |000b: iput-object v4, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e6 │ │ +00ddbe: 5c15 e700 |000d: iput-boolean v5, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutorServiceOwnedByThisController:Z // field@00e7 │ │ +00ddc2: 5b16 e800 |000f: iput-object v6, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mCallbackFromBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e8 │ │ +00ddc6: 0e00 |0011: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=81 │ │ 0x0003 line=72 │ │ 0x0007 line=82 │ │ 0x0009 line=83 │ │ 0x000b line=84 │ │ @@ -18262,17 +11804,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)Ljava/util/concurrent/Executor;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -00e524: |[00e524] com.google.android.apps.authenticator.timesync.SyncNowController.access$000:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)Ljava/util/concurrent/Executor; │ │ -00e534: 5410 e800 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mCallbackFromBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e8 │ │ -00e538: 1100 |0002: return-object v0 │ │ +00ddc8: |[00ddc8] com.google.android.apps.authenticator.timesync.SyncNowController.access$000:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)Ljava/util/concurrent/Executor; │ │ +00ddd8: 5410 e800 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mCallbackFromBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e8 │ │ +00dddc: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController;) │ │ @@ -18280,17 +11822,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Ljava/util/concurrent/Executor;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -00e53c: |[00e53c] com.google.android.apps.authenticator.timesync.SyncNowController.access$100:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Ljava/util/concurrent/Executor;)V │ │ -00e54c: 7020 d102 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.runBackgroundSyncAndPostResult:(Ljava/util/concurrent/Executor;)V // method@02d1 │ │ -00e552: 0e00 |0003: return-void │ │ +00dde0: |[00dde0] com.google.android.apps.authenticator.timesync.SyncNowController.access$100:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Ljava/util/concurrent/Executor;)V │ │ +00ddf0: 7020 d102 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.runBackgroundSyncAndPostResult:(Ljava/util/concurrent/Executor;)V // method@02d1 │ │ +00ddf6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ 0x0000 - 0x0004 reg=1 x1 Ljava/util/concurrent/Executor; │ │ │ │ @@ -18299,17 +11841,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -00e554: |[00e554] com.google.android.apps.authenticator.timesync.SyncNowController.access$200:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V │ │ -00e564: 7020 ce02 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ce │ │ -00e56a: 0e00 |0003: return-void │ │ +00ddf8: |[00ddf8] com.google.android.apps.authenticator.timesync.SyncNowController.access$200:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V │ │ +00de08: 7020 ce02 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ce │ │ +00de0e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ 0x0000 - 0x0004 reg=1 x1 Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; │ │ │ │ @@ -18318,17 +11860,17 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -00e56c: |[00e56c] com.google.android.apps.authenticator.timesync.SyncNowController.access$300:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V │ │ -00e57c: 7020 d002 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.onNewTimeCorrectionObtained:(I)V // method@02d0 │ │ -00e582: 0e00 |0003: return-void │ │ +00de10: |[00de10] com.google.android.apps.authenticator.timesync.SyncNowController.access$300:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V │ │ +00de20: 7020 d002 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.onNewTimeCorrectionObtained:(I)V // method@02d0 │ │ +00de26: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ 0x0000 - 0x0004 reg=1 x1 I │ │ │ │ @@ -18337,32 +11879,32 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -00e584: |[00e584] com.google.android.apps.authenticator.timesync.SyncNowController.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V │ │ -00e594: 5420 ec00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ -00e598: 6201 e200 |0002: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ -00e59c: 3310 0300 |0004: if-ne v0, v1, 0007 // +0003 │ │ -00e5a0: 0e00 |0006: return-void │ │ -00e5a2: 5520 e700 |0007: iget-boolean v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutorServiceOwnedByThisController:Z // field@00e7 │ │ -00e5a6: 3800 0900 |0009: if-eqz v0, 0012 // +0009 │ │ -00e5aa: 5420 e600 |000b: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e6 │ │ -00e5ae: 1f00 1601 |000d: check-cast v0, Ljava/util/concurrent/ExecutorService; // type@0116 │ │ -00e5b2: 7210 7903 0000 |000f: invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;.shutdownNow:()Ljava/util/List; // method@0379 │ │ -00e5b8: 6200 e200 |0012: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ -00e5bc: 5b20 ec00 |0014: iput-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ -00e5c0: 5b23 eb00 |0016: iput-object v3, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mResult:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00eb │ │ -00e5c4: 5420 ea00 |0018: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e5c8: 3800 ecff |001a: if-eqz v0, 0006 // -0014 │ │ -00e5cc: 5420 ea00 |001c: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e5d0: 7220 b902 3000 |001e: invoke-interface {v0, v3}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;.onDone:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02b9 │ │ -00e5d6: 28e5 |0021: goto 0006 // -001b │ │ +00de28: |[00de28] com.google.android.apps.authenticator.timesync.SyncNowController.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V │ │ +00de38: 5420 ec00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ +00de3c: 6201 e200 |0002: sget-object v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ +00de40: 3310 0300 |0004: if-ne v0, v1, 0007 // +0003 │ │ +00de44: 0e00 |0006: return-void │ │ +00de46: 5520 e700 |0007: iget-boolean v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutorServiceOwnedByThisController:Z // field@00e7 │ │ +00de4a: 3800 0900 |0009: if-eqz v0, 0012 // +0009 │ │ +00de4e: 5420 e600 |000b: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e6 │ │ +00de52: 1f00 1601 |000d: check-cast v0, Ljava/util/concurrent/ExecutorService; // type@0116 │ │ +00de56: 7210 7903 0000 |000f: invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;.shutdownNow:()Ljava/util/List; // method@0379 │ │ +00de5c: 6200 e200 |0012: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.DONE:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e2 │ │ +00de60: 5b20 ec00 |0014: iput-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ +00de64: 5b23 eb00 |0016: iput-object v3, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mResult:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00eb │ │ +00de68: 5420 ea00 |0018: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00de6c: 3800 ecff |001a: if-eqz v0, 0006 // -0014 │ │ +00de70: 5420 ea00 |001c: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00de74: 7220 b902 3000 |001e: invoke-interface {v0, v3}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;.onDone:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02b9 │ │ +00de7a: 28e5 |0021: goto 0006 // -001b │ │ catches : (none) │ │ positions : │ │ 0x0000 line=207 │ │ 0x0006 line=219 │ │ 0x0007 line=211 │ │ 0x000b line=212 │ │ 0x0012 line=214 │ │ @@ -18378,18 +11920,18 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -00e5d8: |[00e5d8] com.google.android.apps.authenticator.timesync.SyncNowController.onCancelledByUser:()V │ │ -00e5e8: 6200 dd00 |0000: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.CANCELLED_BY_USER:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dd │ │ -00e5ec: 7020 ce02 0100 |0002: invoke-direct {v1, v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ce │ │ -00e5f2: 0e00 |0005: return-void │ │ +00de7c: |[00de7c] com.google.android.apps.authenticator.timesync.SyncNowController.onCancelledByUser:()V │ │ +00de8c: 6200 dd00 |0000: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.CANCELLED_BY_USER:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00dd │ │ +00de90: 7020 ce02 0100 |0002: invoke-direct {v1, v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ce │ │ +00de96: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=174 │ │ 0x0005 line=175 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ │ │ @@ -18398,53 +11940,53 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 76 16-bit code units │ │ -00e5f4: |[00e5f4] com.google.android.apps.authenticator.timesync.SyncNowController.onNewTimeCorrectionObtained:(I)V │ │ -00e604: 5452 ec00 |0000: iget-object v2, v5, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ -00e608: 6203 e300 |0002: sget-object v3, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ -00e60c: 3232 0300 |0004: if-eq v2, v3, 0007 // +0003 │ │ -00e610: 0e00 |0006: return-void │ │ -00e612: 5452 ed00 |0007: iget-object v2, v5, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00ed │ │ -00e616: 6e10 0102 0200 |0009: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/TotpClock;.getTimeCorrectionMinutes:()I // method@0201 │ │ -00e61c: 0a02 |000c: move-result v2 │ │ -00e61e: 8120 |000d: int-to-long v0, v2 │ │ -00e620: 1a02 9002 |000e: const-string v2, "TimeSync" // string@0290 │ │ -00e624: 2203 f900 |0010: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ -00e628: 7010 5303 0300 |0012: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ -00e62e: 1a04 3602 |0015: const-string v4, "Obtained new time correction: " // string@0236 │ │ -00e632: 6e20 5a03 4300 |0017: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00e638: 0c03 |001a: move-result-object v3 │ │ -00e63a: 6e20 5703 6300 |001b: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ -00e640: 0c03 |001e: move-result-object v3 │ │ -00e642: 1a04 0700 |001f: const-string v4, " min, old time correction: " // string@0007 │ │ -00e646: 6e20 5a03 4300 |0021: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00e64c: 0c03 |0024: move-result-object v3 │ │ -00e64e: 6e30 5803 0301 |0025: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0358 │ │ -00e654: 0c03 |0028: move-result-object v3 │ │ -00e656: 1a04 0600 |0029: const-string v4, " min" // string@0006 │ │ -00e65a: 6e20 5a03 4300 |002b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ -00e660: 0c03 |002e: move-result-object v3 │ │ -00e662: 6e10 5b03 0300 |002f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ -00e668: 0c03 |0032: move-result-object v3 │ │ -00e66a: 7120 9900 3200 |0033: invoke-static {v2, v3}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ -00e670: 8162 |0036: int-to-long v2, v6 │ │ -00e672: 3102 0200 |0037: cmp-long v2, v2, v0 │ │ -00e676: 3902 0800 |0039: if-nez v2, 0041 // +0008 │ │ -00e67a: 6202 df00 |003b: sget-object v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_ALREADY_CORRECT:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00df │ │ -00e67e: 7020 ce02 2500 |003d: invoke-direct {v5, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ce │ │ -00e684: 28c6 |0040: goto 0006 // -003a │ │ -00e686: 5452 ed00 |0041: iget-object v2, v5, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00ed │ │ -00e68a: 6e20 0202 6200 |0043: invoke-virtual {v2, v6}, Lcom/google/android/apps/authenticator/TotpClock;.setTimeCorrectionMinutes:(I)V // method@0202 │ │ -00e690: 6202 e000 |0046: sget-object v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_CORRECTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00e0 │ │ -00e694: 7020 ce02 2500 |0048: invoke-direct {v5, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ce │ │ -00e69a: 28bb |004b: goto 0006 // -0045 │ │ +00de98: |[00de98] com.google.android.apps.authenticator.timesync.SyncNowController.onNewTimeCorrectionObtained:(I)V │ │ +00dea8: 5452 ec00 |0000: iget-object v2, v5, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ +00deac: 6203 e300 |0002: sget-object v3, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ +00deb0: 3232 0300 |0004: if-eq v2, v3, 0007 // +0003 │ │ +00deb4: 0e00 |0006: return-void │ │ +00deb6: 5452 ed00 |0007: iget-object v2, v5, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00ed │ │ +00deba: 6e10 0102 0200 |0009: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/TotpClock;.getTimeCorrectionMinutes:()I // method@0201 │ │ +00dec0: 0a02 |000c: move-result v2 │ │ +00dec2: 8120 |000d: int-to-long v0, v2 │ │ +00dec4: 1a02 8d02 |000e: const-string v2, "TimeSync" // string@028d │ │ +00dec8: 2203 f900 |0010: new-instance v3, Ljava/lang/StringBuilder; // type@00f9 │ │ +00decc: 7010 5303 0300 |0012: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00ded2: 1a04 3302 |0015: const-string v4, "Obtained new time correction: " // string@0233 │ │ +00ded6: 6e20 5a03 4300 |0017: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00dedc: 0c03 |001a: move-result-object v3 │ │ +00dede: 6e20 5703 6300 |001b: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ +00dee4: 0c03 |001e: move-result-object v3 │ │ +00dee6: 1a04 0700 |001f: const-string v4, " min, old time correction: " // string@0007 │ │ +00deea: 6e20 5a03 4300 |0021: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00def0: 0c03 |0024: move-result-object v3 │ │ +00def2: 6e30 5803 0301 |0025: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0358 │ │ +00def8: 0c03 |0028: move-result-object v3 │ │ +00defa: 1a04 0600 |0029: const-string v4, " min" // string@0006 │ │ +00defe: 6e20 5a03 4300 |002b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00df04: 0c03 |002e: move-result-object v3 │ │ +00df06: 6e10 5b03 0300 |002f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00df0c: 0c03 |0032: move-result-object v3 │ │ +00df0e: 7120 9900 3200 |0033: invoke-static {v2, v3}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ +00df14: 8162 |0036: int-to-long v2, v6 │ │ +00df16: 3102 0200 |0037: cmp-long v2, v2, v0 │ │ +00df1a: 3902 0800 |0039: if-nez v2, 0041 // +0008 │ │ +00df1e: 6202 df00 |003b: sget-object v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_ALREADY_CORRECT:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00df │ │ +00df22: 7020 ce02 2500 |003d: invoke-direct {v5, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ce │ │ +00df28: 28c6 |0040: goto 0006 // -003a │ │ +00df2a: 5452 ed00 |0041: iget-object v2, v5, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@00ed │ │ +00df2e: 6e20 0202 6200 |0043: invoke-virtual {v2, v6}, Lcom/google/android/apps/authenticator/TotpClock;.setTimeCorrectionMinutes:(I)V // method@0202 │ │ +00df34: 6202 e000 |0046: sget-object v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.TIME_CORRECTED:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00e0 │ │ +00df38: 7020 ce02 2500 |0048: invoke-direct {v5, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.finish:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02ce │ │ +00df3e: 28bb |004b: goto 0006 // -0045 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=184 │ │ 0x0006 line=201 │ │ 0x0007 line=191 │ │ 0x000e line=192 │ │ 0x0036 line=195 │ │ @@ -18461,80 +12003,80 @@ │ │ type : '(Ljava/util/concurrent/Executor;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 12 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 50 16-bit code units │ │ -00e69c: |[00e69c] com.google.android.apps.authenticator.timesync.SyncNowController.runBackgroundSyncAndPostResult:(Ljava/util/concurrent/Executor;)V │ │ -00e6ac: 54a6 e900 |0000: iget-object v6, v10, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mNetworkTimeProvider:Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; // field@00e9 │ │ -00e6b0: 6e10 9702 0600 |0002: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.getNetworkTime:()J // method@0297 │ │ -00e6b6: 0b01 |0005: move-result-wide v1 │ │ -00e6b8: 7100 5c03 0000 |0006: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@035c │ │ -00e6be: 0b06 |0009: move-result-wide v6 │ │ -00e6c0: 9c03 0106 |000a: sub-long v3, v1, v6 │ │ -00e6c4: 8636 |000c: long-to-double v6, v3 │ │ -00e6c6: 1808 0000 0000 004c ed40 |000d: const-wide v8, #double 60000 // #40ed4c0000000000 │ │ -00e6d0: ce86 |0012: div-double/2addr v6, v8 │ │ -00e6d2: 7120 3703 7600 |0013: invoke-static {v6, v7}, Ljava/lang/Math;.round:(D)J // method@0337 │ │ -00e6d8: 0b06 |0016: move-result-wide v6 │ │ -00e6da: 8465 |0017: long-to-int v5, v6 │ │ -00e6dc: 2206 b700 |0018: new-instance v6, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3; // type@00b7 │ │ -00e6e0: 7030 b602 a605 |001a: invoke-direct {v6, v10, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V // method@02b6 │ │ -00e6e6: 7220 7803 6b00 |001d: invoke-interface {v11, v6}, Ljava/util/concurrent/Executor;.execute:(Ljava/lang/Runnable;)V // method@0378 │ │ -00e6ec: 0e00 |0020: return-void │ │ -00e6ee: 0d00 |0021: move-exception v0 │ │ -00e6f0: 1a06 9002 |0022: const-string v6, "TimeSync" // string@0290 │ │ -00e6f4: 1a07 8d00 |0024: const-string v7, "Failed to obtain network time due to connectivity issues" // string@008d │ │ -00e6f8: 7120 9a00 7600 |0026: invoke-static {v6, v7}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ -00e6fe: 2206 b600 |0029: new-instance v6, Lcom/google/android/apps/authenticator/timesync/SyncNowController$2; // type@00b6 │ │ -00e702: 7020 b402 a600 |002b: invoke-direct {v6, v10}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$2;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V // method@02b4 │ │ -00e708: 7220 7803 6b00 |002e: invoke-interface {v11, v6}, Ljava/util/concurrent/Executor;.execute:(Ljava/lang/Runnable;)V // method@0378 │ │ -00e70e: 28ef |0031: goto 0020 // -0011 │ │ +00df40: |[00df40] com.google.android.apps.authenticator.timesync.SyncNowController.runBackgroundSyncAndPostResult:(Ljava/util/concurrent/Executor;)V │ │ +00df50: 54a6 e900 |0000: iget-object v6, v10, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mNetworkTimeProvider:Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; // field@00e9 │ │ +00df54: 6e10 9702 0600 |0002: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.getNetworkTime:()J // method@0297 │ │ +00df5a: 0b02 |0005: move-result-wide v2 │ │ +00df5c: 7100 5c03 0000 |0006: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@035c │ │ +00df62: 0b06 |0009: move-result-wide v6 │ │ +00df64: 9c04 0206 |000a: sub-long v4, v2, v6 │ │ +00df68: 8646 |000c: long-to-double v6, v4 │ │ +00df6a: 1808 0000 0000 004c ed40 |000d: const-wide v8, #double 60000 // #40ed4c0000000000 │ │ +00df74: ce86 |0012: div-double/2addr v6, v8 │ │ +00df76: 7120 3703 7600 |0013: invoke-static {v6, v7}, Ljava/lang/Math;.round:(D)J // method@0337 │ │ +00df7c: 0b06 |0016: move-result-wide v6 │ │ +00df7e: 8461 |0017: long-to-int v1, v6 │ │ +00df80: 2206 b700 |0018: new-instance v6, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3; // type@00b7 │ │ +00df84: 7030 b602 a601 |001a: invoke-direct {v6, v10, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V // method@02b6 │ │ +00df8a: 7220 7803 6b00 |001d: invoke-interface {v11, v6}, Ljava/util/concurrent/Executor;.execute:(Ljava/lang/Runnable;)V // method@0378 │ │ +00df90: 0e00 |0020: return-void │ │ +00df92: 0d00 |0021: move-exception v0 │ │ +00df94: 1a06 8d02 |0022: const-string v6, "TimeSync" // string@028d │ │ +00df98: 1a07 8d00 |0024: const-string v7, "Failed to obtain network time due to connectivity issues" // string@008d │ │ +00df9c: 7120 9a00 7600 |0026: invoke-static {v6, v7}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00dfa2: 2206 b600 |0029: new-instance v6, Lcom/google/android/apps/authenticator/timesync/SyncNowController$2; // type@00b6 │ │ +00dfa6: 7020 b402 a600 |002b: invoke-direct {v6, v10}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$2;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V // method@02b4 │ │ +00dfac: 7220 7803 6b00 |002e: invoke-interface {v11, v6}, Ljava/util/concurrent/Executor;.execute:(Ljava/lang/Runnable;)V // method@0378 │ │ +00dfb2: 28ef |0031: goto 0020 // -0011 │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/io/IOException; -> 0x0021 │ │ positions : │ │ 0x0000 line=228 │ │ 0x0006 line=240 │ │ 0x000c line=241 │ │ 0x0018 line=243 │ │ 0x0020 line=249 │ │ 0x0021 line=229 │ │ 0x0022 line=230 │ │ 0x0029 line=231 │ │ locals : │ │ - 0x0006 - 0x0020 reg=1 networkTimeMillis J │ │ - 0x000c - 0x0020 reg=3 timeCorrectionMillis J │ │ - 0x0018 - 0x0020 reg=5 timeCorrectionMinutes I │ │ + 0x0018 - 0x0020 reg=1 timeCorrectionMinutes I │ │ + 0x0006 - 0x0020 reg=2 networkTimeMillis J │ │ + 0x000c - 0x0020 reg=4 timeCorrectionMillis J │ │ 0x0022 - 0x0032 reg=0 e Ljava/io/IOException; │ │ 0x0000 - 0x0032 reg=10 this Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ 0x0000 - 0x0032 reg=11 callbackExecutor Ljava/util/concurrent/Executor; │ │ │ │ #10 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowController;) │ │ name : 'start' │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 24 16-bit code units │ │ -00e720: |[00e720] com.google.android.apps.authenticator.timesync.SyncNowController.start:()V │ │ -00e730: 6200 e300 |0000: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ -00e734: 5b20 ec00 |0002: iput-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ -00e738: 5420 ea00 |0004: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e73c: 3800 0700 |0006: if-eqz v0, 000d // +0007 │ │ -00e740: 5420 ea00 |0008: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e744: 7210 ba02 0000 |000a: invoke-interface {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;.onStarted:()V // method@02ba │ │ -00e74a: 5420 e600 |000d: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e6 │ │ -00e74e: 2201 b500 |000f: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1; // type@00b5 │ │ -00e752: 7020 b202 2100 |0011: invoke-direct {v1, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V // method@02b2 │ │ -00e758: 7220 7803 1000 |0014: invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;.execute:(Ljava/lang/Runnable;)V // method@0378 │ │ -00e75e: 0e00 |0017: return-void │ │ +00dfc4: |[00dfc4] com.google.android.apps.authenticator.timesync.SyncNowController.start:()V │ │ +00dfd4: 6200 e300 |0000: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.IN_PROGRESS:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00e3 │ │ +00dfd8: 5b20 ec00 |0002: iput-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ +00dfdc: 5420 ea00 |0004: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00dfe0: 3800 0700 |0006: if-eqz v0, 000d // +0007 │ │ +00dfe4: 5420 ea00 |0008: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00dfe8: 7210 ba02 0000 |000a: invoke-interface {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;.onStarted:()V // method@02ba │ │ +00dfee: 5420 e600 |000d: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mBackgroundExecutor:Ljava/util/concurrent/Executor; // field@00e6 │ │ +00dff2: 2201 b500 |000f: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1; // type@00b5 │ │ +00dff6: 7020 b202 2100 |0011: invoke-direct {v1, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V // method@02b2 │ │ +00dffc: 7220 7803 1000 |0014: invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;.execute:(Ljava/lang/Runnable;)V // method@0378 │ │ +00e002: 0e00 |0017: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=159 │ │ 0x0004 line=160 │ │ 0x0008 line=161 │ │ 0x000d line=165 │ │ 0x0017 line=171 │ │ @@ -18547,20 +12089,20 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V' │ │ access : 0x0000 () │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00e760: |[00e760] com.google.android.apps.authenticator.timesync.SyncNowController.abort:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V │ │ -00e770: 5410 ea00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e774: 3220 0300 |0002: if-eq v0, v2, 0005 // +0003 │ │ -00e778: 0e00 |0004: return-void │ │ -00e77a: 7010 cf02 0100 |0005: invoke-direct {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.onCancelledByUser:()V // method@02cf │ │ -00e780: 28fc |0008: goto 0004 // -0004 │ │ +00e004: |[00e004] com.google.android.apps.authenticator.timesync.SyncNowController.abort:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V │ │ +00e014: 5410 ea00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00e018: 3220 0300 |0002: if-eq v0, v2, 0005 // +0003 │ │ +00e01c: 0e00 |0004: return-void │ │ +00e01e: 7010 cf02 0100 |0005: invoke-direct {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.onCancelledByUser:()V // method@02cf │ │ +00e024: 28fc |0008: goto 0004 // -0004 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=149 │ │ 0x0004 line=153 │ │ 0x0005 line=152 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ @@ -18571,43 +12113,43 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V' │ │ access : 0x0000 () │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -00e784: |[00e784] com.google.android.apps.authenticator.timesync.SyncNowController.attach:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V │ │ -00e794: 5b23 ea00 |0000: iput-object v3, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e798: 6200 db00 |0002: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ -00e79c: 5421 ec00 |0004: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ -00e7a0: 6e10 c202 0100 |0006: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ -00e7a6: 0a01 |0009: move-result v1 │ │ -00e7a8: 4400 0001 |000a: aget v0, v0, v1 │ │ -00e7ac: 2b00 2a00 0000 |000c: packed-switch v0, 00000036 // +0000002a │ │ -00e7b2: 2200 ea00 |000f: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ -00e7b6: 5421 ec00 |0011: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ -00e7ba: 7110 5203 0100 |0013: invoke-static {v1}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ -00e7c0: 0c01 |0016: move-result-object v1 │ │ -00e7c2: 7020 2803 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ -00e7c8: 2700 |001a: throw v0 │ │ -00e7ca: 7010 d202 0200 |001b: invoke-direct {v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.start:()V // method@02d2 │ │ -00e7d0: 0e00 |001e: return-void │ │ -00e7d2: 5420 ea00 |001f: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e7d6: 3800 fdff |0021: if-eqz v0, 001e // -0003 │ │ -00e7da: 5420 ea00 |0023: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e7de: 7210 ba02 0000 |0025: invoke-interface {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;.onStarted:()V // method@02ba │ │ -00e7e4: 28f6 |0028: goto 001e // -000a │ │ -00e7e6: 5420 ea00 |0029: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e7ea: 3800 f3ff |002b: if-eqz v0, 001e // -000d │ │ -00e7ee: 5420 ea00 |002d: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e7f2: 5421 eb00 |002f: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mResult:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00eb │ │ -00e7f6: 7220 b902 1000 |0031: invoke-interface {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;.onDone:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02b9 │ │ -00e7fc: 28ea |0034: goto 001e // -0016 │ │ -00e7fe: 0000 |0035: nop // spacer │ │ -00e800: 0001 0300 0100 0000 0f00 0000 1300 ... |0036: packed-switch-data (10 units) │ │ +00e028: |[00e028] com.google.android.apps.authenticator.timesync.SyncNowController.attach:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V │ │ +00e038: 5b23 ea00 |0000: iput-object v3, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00e03c: 6200 db00 |0002: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ +00e040: 5421 ec00 |0004: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ +00e044: 6e10 c202 0100 |0006: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ +00e04a: 0a01 |0009: move-result v1 │ │ +00e04c: 4400 0001 |000a: aget v0, v0, v1 │ │ +00e050: 2b00 2a00 0000 |000c: packed-switch v0, 00000036 // +0000002a │ │ +00e056: 2200 ea00 |000f: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ +00e05a: 5421 ec00 |0011: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ +00e05e: 7110 5203 0100 |0013: invoke-static {v1}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ +00e064: 0c01 |0016: move-result-object v1 │ │ +00e066: 7020 2803 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ +00e06c: 2700 |001a: throw v0 │ │ +00e06e: 7010 d202 0200 |001b: invoke-direct {v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.start:()V // method@02d2 │ │ +00e074: 0e00 |001e: return-void │ │ +00e076: 5420 ea00 |001f: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00e07a: 3800 fdff |0021: if-eqz v0, 001e // -0003 │ │ +00e07e: 5420 ea00 |0023: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00e082: 7210 ba02 0000 |0025: invoke-interface {v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;.onStarted:()V // method@02ba │ │ +00e088: 28f6 |0028: goto 001e // -000a │ │ +00e08a: 5420 ea00 |0029: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00e08e: 3800 f3ff |002b: if-eqz v0, 001e // -000d │ │ +00e092: 5420 ea00 |002d: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00e096: 5421 eb00 |002f: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mResult:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; // field@00eb │ │ +00e09a: 7220 b902 1000 |0031: invoke-interface {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;.onDone:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V // method@02b9 │ │ +00e0a0: 28ea |0034: goto 001e // -0016 │ │ +00e0a2: 0000 |0035: nop // spacer │ │ +00e0a4: 0001 0300 0100 0000 0f00 0000 1300 ... |0036: packed-switch-data (10 units) │ │ catches : (none) │ │ positions : │ │ 0x0000 line=104 │ │ 0x0002 line=105 │ │ 0x000f line=120 │ │ 0x001b line=107 │ │ 0x001e line=122 │ │ @@ -18625,63 +12167,63 @@ │ │ type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V' │ │ access : 0x0000 () │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -00e814: |[00e814] com.google.android.apps.authenticator.timesync.SyncNowController.detach:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V │ │ -00e824: 5420 ea00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ -00e828: 3203 0300 |0002: if-eq v3, v0, 0005 // +0003 │ │ -00e82c: 0e00 |0004: return-void │ │ -00e82e: 6200 db00 |0005: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ -00e832: 5421 ec00 |0007: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ -00e836: 6e10 c202 0100 |0009: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ -00e83c: 0a01 |000c: move-result v1 │ │ -00e83e: 4400 0001 |000d: aget v0, v0, v1 │ │ -00e842: 2b00 1300 0000 |000f: packed-switch v0, 00000022 // +00000013 │ │ -00e848: 2200 ea00 |0012: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ -00e84c: 5421 ec00 |0014: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ -00e850: 7110 5203 0100 |0016: invoke-static {v1}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ -00e856: 0c01 |0019: move-result-object v1 │ │ -00e858: 7020 2803 1000 |001a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ -00e85e: 2700 |001d: throw v0 │ │ -00e860: 7010 cf02 0200 |001e: invoke-direct {v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.onCancelledByUser:()V // method@02cf │ │ -00e866: 28e3 |0021: goto 0004 // -001d │ │ -00e868: 0001 0300 0100 0000 0f00 0000 0f00 ... |0022: packed-switch-data (10 units) │ │ +00e0b8: |[00e0b8] com.google.android.apps.authenticator.timesync.SyncNowController.detach:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V │ │ +00e0c8: 5420 ea00 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mPresenter:Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; // field@00ea │ │ +00e0cc: 3203 0300 |0002: if-eq v3, v0, 0005 // +0003 │ │ +00e0d0: 0e00 |0004: return-void │ │ +00e0d2: 6200 db00 |0005: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$State:[I // field@00db │ │ +00e0d6: 5421 ec00 |0007: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ +00e0da: 6e10 c202 0100 |0009: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;.ordinal:()I // method@02c2 │ │ +00e0e0: 0a01 |000c: move-result v1 │ │ +00e0e2: 4400 0001 |000d: aget v0, v0, v1 │ │ +00e0e6: 2b00 1300 0000 |000f: packed-switch v0, 00000022 // +00000013 │ │ +00e0ec: 2200 ea00 |0012: new-instance v0, Ljava/lang/IllegalStateException; // type@00ea │ │ +00e0f0: 5421 ec00 |0014: iget-object v1, v2, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.mState:Lcom/google/android/apps/authenticator/timesync/SyncNowController$State; // field@00ec │ │ +00e0f4: 7110 5203 0100 |0016: invoke-static {v1}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ +00e0fa: 0c01 |0019: move-result-object v1 │ │ +00e0fc: 7020 2803 1000 |001a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0328 │ │ +00e102: 2700 |001d: throw v0 │ │ +00e104: 7010 cf02 0200 |001e: invoke-direct {v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.onCancelledByUser:()V // method@02cf │ │ +00e10a: 28e3 |0021: goto 0004 // -001d │ │ +00e10c: 0001 0300 0100 0000 0f00 0000 0f00 ... |0022: packed-switch-data (10 units) │ │ catches : (none) │ │ positions : │ │ 0x0000 line=129 │ │ 0x0004 line=142 │ │ 0x0005 line=132 │ │ 0x0012 line=140 │ │ 0x001e line=135 │ │ 0x0022 line=132 │ │ locals : │ │ 0x0000 - 0x002c reg=2 this Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ 0x0000 - 0x002c reg=3 presenter Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; │ │ │ │ - source_file_idx : 629 (SyncNowController.java) │ │ + source_file_idx : 626 (SyncNowController.java) │ │ │ │ -Class #96 header: │ │ +Class #73 header: │ │ class_idx : 189 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 699 │ │ +source_file_idx : 696 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #96 annotations: │ │ +Class #73 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreate │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #96 - │ │ +Class #73 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/view/View$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -18695,67 +12237,67 @@ │ │ type : '(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00e87c: |[00e87c] com.google.android.apps.authenticator.wizard.WizardPageActivity$1.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V │ │ -00e88c: 5b01 ee00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00ee │ │ -00e890: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00e896: 0e00 |0005: return-void │ │ +00e120: |[00e120] com.google.android.apps.authenticator.wizard.WizardPageActivity$1.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V │ │ +00e130: 5b01 ee00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00ee │ │ +00e134: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e13a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=100 │ │ locals : │ │ 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; │ │ - 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.1; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;) │ │ name : 'onClick' │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00e898: |[00e898] com.google.android.apps.authenticator.wizard.WizardPageActivity$1.onClick:(Landroid/view/View;)V │ │ -00e8a8: 5410 ee00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00ee │ │ -00e8ac: 6e10 ec02 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onLeftButtonPressed:()V // method@02ec │ │ -00e8b2: 0e00 |0005: return-void │ │ +00e13c: |[00e13c] com.google.android.apps.authenticator.wizard.WizardPageActivity$1.onClick:(Landroid/view/View;)V │ │ +00e14c: 5410 ee00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00ee │ │ +00e150: 6e10 ec02 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onLeftButtonPressed:()V // method@02ec │ │ +00e156: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=103 │ │ 0x0005 line=104 │ │ locals : │ │ 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.1; │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; │ │ 0x0000 - 0x0006 reg=2 v Landroid/view/View; │ │ │ │ - source_file_idx : 699 (WizardPageActivity.java) │ │ + source_file_idx : 696 (WizardPageActivity.java) │ │ │ │ -Class #97 header: │ │ +Class #74 header: │ │ class_idx : 190 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 699 │ │ +source_file_idx : 696 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #97 annotations: │ │ +Class #74 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreate │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #97 - │ │ +Class #74 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/view/View$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -18769,67 +12311,67 @@ │ │ type : '(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00e8b4: |[00e8b4] com.google.android.apps.authenticator.wizard.WizardPageActivity$2.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V │ │ -00e8c4: 5b01 ef00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00ef │ │ -00e8c8: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00e8ce: 0e00 |0005: return-void │ │ +00e158: |[00e158] com.google.android.apps.authenticator.wizard.WizardPageActivity$2.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V │ │ +00e168: 5b01 ef00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00ef │ │ +00e16c: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e172: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=108 │ │ locals : │ │ 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; │ │ - 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.2; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;) │ │ name : 'onClick' │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00e8d0: |[00e8d0] com.google.android.apps.authenticator.wizard.WizardPageActivity$2.onClick:(Landroid/view/View;)V │ │ -00e8e0: 5410 ef00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00ef │ │ -00e8e4: 6e10 ee02 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onRightButtonPressed:()V // method@02ee │ │ -00e8ea: 0e00 |0005: return-void │ │ +00e174: |[00e174] com.google.android.apps.authenticator.wizard.WizardPageActivity$2.onClick:(Landroid/view/View;)V │ │ +00e184: 5410 ef00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00ef │ │ +00e188: 6e10 ee02 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onRightButtonPressed:()V // method@02ee │ │ +00e18e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ 0x0005 line=112 │ │ locals : │ │ 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.2; │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; │ │ 0x0000 - 0x0006 reg=2 v Landroid/view/View; │ │ │ │ - source_file_idx : 699 (WizardPageActivity.java) │ │ + source_file_idx : 696 (WizardPageActivity.java) │ │ │ │ -Class #98 header: │ │ +Class #75 header: │ │ class_idx : 191 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 243 │ │ -source_file_idx : 699 │ │ +source_file_idx : 696 │ │ static_fields_size : 0 │ │ instance_fields_size: 1 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 1 │ │ │ │ -Class #98 annotations: │ │ +Class #75 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=onCreate │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ │ │ -Class #98 - │ │ +Class #75 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;' │ │ Access flags : 0x0000 () │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ #0 : 'Landroid/view/View$OnClickListener;' │ │ Static fields - │ │ Instance fields - │ │ @@ -18843,67 +12385,67 @@ │ │ type : '(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00e8ec: |[00e8ec] com.google.android.apps.authenticator.wizard.WizardPageActivity$3.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V │ │ -00e8fc: 5b01 f000 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00f0 │ │ -00e900: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00e906: 0e00 |0005: return-void │ │ +00e190: |[00e190] com.google.android.apps.authenticator.wizard.WizardPageActivity$3.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V │ │ +00e1a0: 5b01 f000 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00f0 │ │ +00e1a4: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e1aa: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=116 │ │ locals : │ │ 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; │ │ - 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.3; │ │ - 0x0000 - 0x0006 reg=1 (null) Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ │ │ Virtual methods - │ │ #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;) │ │ name : 'onClick' │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -00e908: |[00e908] com.google.android.apps.authenticator.wizard.WizardPageActivity$3.onClick:(Landroid/view/View;)V │ │ -00e918: 5410 f000 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00f0 │ │ -00e91c: 6e10 ed02 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onMiddleButtonPressed:()V // method@02ed │ │ -00e922: 0e00 |0005: return-void │ │ +00e1ac: |[00e1ac] com.google.android.apps.authenticator.wizard.WizardPageActivity$3.onClick:(Landroid/view/View;)V │ │ +00e1bc: 5410 f000 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;.this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; // field@00f0 │ │ +00e1c0: 6e10 ed02 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onMiddleButtonPressed:()V // method@02ed │ │ +00e1c6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=119 │ │ 0x0005 line=120 │ │ locals : │ │ 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; │ │ - 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.3; │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; │ │ 0x0000 - 0x0006 reg=2 v Landroid/view/View; │ │ │ │ - source_file_idx : 699 (WizardPageActivity.java) │ │ + source_file_idx : 696 (WizardPageActivity.java) │ │ │ │ -Class #99 header: │ │ +Class #76 header: │ │ class_idx : 192 │ │ access_flags : 4096 (0x1000) │ │ superclass_idx : 243 │ │ -source_file_idx : 699 │ │ +source_file_idx : 696 │ │ static_fields_size : 1 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #99 annotations: │ │ +Class #76 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=4104 name=null │ │ │ │ -Class #99 - │ │ +Class #76 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;' │ │ Access flags : 0x1000 (SYNTHETIC) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;) │ │ name : '$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType' │ │ @@ -18916,78 +12458,78 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 49 16-bit code units │ │ -00e924: |[00e924] com.google.android.apps.authenticator.wizard.WizardPageActivity$4.:()V │ │ -00e934: 7100 de02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.values:()[Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // method@02de │ │ -00e93a: 0c00 |0003: move-result-object v0 │ │ -00e93c: 2100 |0004: array-length v0, v0 │ │ -00e93e: 2300 2e01 |0005: new-array v0, v0, [I // type@012e │ │ -00e942: 6900 f100 |0007: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ -00e946: 6200 f100 |0009: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ -00e94a: 6201 f400 |000b: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.LEFT_RIGHT_BUTTONS:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f4 │ │ -00e94e: 6e10 dc02 0100 |000d: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.ordinal:()I // method@02dc │ │ -00e954: 0a01 |0010: move-result v1 │ │ -00e956: 1212 |0011: const/4 v2, #int 1 // #1 │ │ -00e958: 4b02 0001 |0012: aput v2, v0, v1 │ │ -00e95c: 6200 f100 |0014: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ -00e960: 6201 f500 |0016: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.MIDDLE_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f5 │ │ -00e964: 6e10 dc02 0100 |0018: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.ordinal:()I // method@02dc │ │ -00e96a: 0a01 |001b: move-result v1 │ │ -00e96c: 1222 |001c: const/4 v2, #int 2 // #2 │ │ -00e96e: 4b02 0001 |001d: aput v2, v0, v1 │ │ -00e972: 6200 f100 |001f: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ -00e976: 6201 f300 |0021: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ -00e97a: 6e10 dc02 0100 |0023: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.ordinal:()I // method@02dc │ │ -00e980: 0a01 |0026: move-result v1 │ │ -00e982: 1232 |0027: const/4 v2, #int 3 // #3 │ │ -00e984: 4b02 0001 |0028: aput v2, v0, v1 │ │ -00e988: 0e00 |002a: return-void │ │ -00e98a: 0d00 |002b: move-exception v0 │ │ -00e98c: 28fe |002c: goto 002a // -0002 │ │ -00e98e: 0d00 |002d: move-exception v0 │ │ -00e990: 28f1 |002e: goto 001f // -000f │ │ -00e992: 0d00 |002f: move-exception v0 │ │ -00e994: 28e4 |0030: goto 0014 // -001c │ │ +00e1c8: |[00e1c8] com.google.android.apps.authenticator.wizard.WizardPageActivity$4.:()V │ │ +00e1d8: 7100 de02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.values:()[Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // method@02de │ │ +00e1de: 0c00 |0003: move-result-object v0 │ │ +00e1e0: 2100 |0004: array-length v0, v0 │ │ +00e1e2: 2300 2e01 |0005: new-array v0, v0, [I // type@012e │ │ +00e1e6: 6900 f100 |0007: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ +00e1ea: 6200 f100 |0009: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ +00e1ee: 6201 f400 |000b: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.LEFT_RIGHT_BUTTONS:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f4 │ │ +00e1f2: 6e10 dc02 0100 |000d: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.ordinal:()I // method@02dc │ │ +00e1f8: 0a01 |0010: move-result v1 │ │ +00e1fa: 1212 |0011: const/4 v2, #int 1 // #1 │ │ +00e1fc: 4b02 0001 |0012: aput v2, v0, v1 │ │ +00e200: 6200 f100 |0014: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ +00e204: 6201 f500 |0016: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.MIDDLE_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f5 │ │ +00e208: 6e10 dc02 0100 |0018: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.ordinal:()I // method@02dc │ │ +00e20e: 0a01 |001b: move-result v1 │ │ +00e210: 1222 |001c: const/4 v2, #int 2 // #2 │ │ +00e212: 4b02 0001 |001d: aput v2, v0, v1 │ │ +00e216: 6200 f100 |001f: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ +00e21a: 6201 f300 |0021: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ +00e21e: 6e10 dc02 0100 |0023: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.ordinal:()I // method@02dc │ │ +00e224: 0a01 |0026: move-result v1 │ │ +00e226: 1232 |0027: const/4 v2, #int 3 // #3 │ │ +00e228: 4b02 0001 |0028: aput v2, v0, v1 │ │ +00e22c: 0e00 |002a: return-void │ │ +00e22e: 0d00 |002b: move-exception v0 │ │ +00e230: 28fe |002c: goto 002a // -0002 │ │ +00e232: 0d00 |002d: move-exception v0 │ │ +00e234: 28f1 |002e: goto 001f // -000f │ │ +00e236: 0d00 |002f: move-exception v0 │ │ +00e238: 28e4 |0030: goto 0014 // -001c │ │ catches : 3 │ │ 0x0009 - 0x0014 │ │ Ljava/lang/NoSuchFieldError; -> 0x002f │ │ 0x0014 - 0x001f │ │ Ljava/lang/NoSuchFieldError; -> 0x002d │ │ 0x001f - 0x002a │ │ Ljava/lang/NoSuchFieldError; -> 0x002b │ │ positions : │ │ 0x0000 line=238 │ │ locals : │ │ │ │ Virtual methods - │ │ - source_file_idx : 699 (WizardPageActivity.java) │ │ + source_file_idx : 696 (WizardPageActivity.java) │ │ │ │ -Class #100 header: │ │ +Class #77 header: │ │ class_idx : 193 │ │ access_flags : 16400 (0x4010) │ │ superclass_idx : 229 │ │ -source_file_idx : 699 │ │ +source_file_idx : 696 │ │ static_fields_size : 4 │ │ instance_fields_size: 0 │ │ direct_methods_size : 4 │ │ virtual_methods_size: 0 │ │ │ │ -Class #100 annotations: │ │ +Class #77 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=16410 name="ButtonBarType" │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/Enum" "<" "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;" ">;" } │ │ Annotations on method #731 '' │ │ VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "()V" } │ │ │ │ -Class #100 - │ │ +Class #77 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;' │ │ Access flags : 0x4010 (FINAL ENUM) │ │ Superclass : 'Ljava/lang/Enum;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;) │ │ name : '$VALUES' │ │ @@ -19012,40 +12554,40 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 48 16-bit code units │ │ -00e9c0: |[00e9c0] com.google.android.apps.authenticator.wizard.WizardPageActivity$ButtonBarType.:()V │ │ -00e9d0: 1224 |0000: const/4 v4, #int 2 // #2 │ │ -00e9d2: 1213 |0001: const/4 v3, #int 1 // #1 │ │ -00e9d4: 1202 |0002: const/4 v2, #int 0 // #0 │ │ -00e9d6: 2200 c100 |0003: new-instance v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ -00e9da: 1a01 cf00 |0005: const-string v1, "LEFT_RIGHT_BUTTONS" // string@00cf │ │ -00e9de: 7030 db02 1002 |0007: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.:(Ljava/lang/String;I)V // method@02db │ │ -00e9e4: 6900 f400 |000a: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.LEFT_RIGHT_BUTTONS:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f4 │ │ -00e9e8: 2200 c100 |000c: new-instance v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ -00e9ec: 1a01 2502 |000e: const-string v1, "MIDDLE_BUTTON_ONLY" // string@0225 │ │ -00e9f0: 7030 db02 1003 |0010: invoke-direct {v0, v1, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.:(Ljava/lang/String;I)V // method@02db │ │ -00e9f6: 6900 f500 |0013: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.MIDDLE_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f5 │ │ -00e9fa: 2200 c100 |0015: new-instance v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ -00e9fe: 1a01 5700 |0017: const-string v1, "CANCEL_BUTTON_ONLY" // string@0057 │ │ -00ea02: 7030 db02 1004 |0019: invoke-direct {v0, v1, v4}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.:(Ljava/lang/String;I)V // method@02db │ │ -00ea08: 6900 f300 |001c: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ -00ea0c: 1230 |001e: const/4 v0, #int 3 // #3 │ │ -00ea0e: 2300 3401 |001f: new-array v0, v0, [Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@0134 │ │ -00ea12: 6201 f400 |0021: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.LEFT_RIGHT_BUTTONS:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f4 │ │ -00ea16: 4d01 0002 |0023: aput-object v1, v0, v2 │ │ -00ea1a: 6201 f500 |0025: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.MIDDLE_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f5 │ │ -00ea1e: 4d01 0003 |0027: aput-object v1, v0, v3 │ │ -00ea22: 6201 f300 |0029: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ -00ea26: 4d01 0004 |002b: aput-object v1, v0, v4 │ │ -00ea2a: 6900 f200 |002d: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.$VALUES:[Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f2 │ │ -00ea2e: 0e00 |002f: return-void │ │ +00e264: |[00e264] com.google.android.apps.authenticator.wizard.WizardPageActivity$ButtonBarType.:()V │ │ +00e274: 1224 |0000: const/4 v4, #int 2 // #2 │ │ +00e276: 1213 |0001: const/4 v3, #int 1 // #1 │ │ +00e278: 1202 |0002: const/4 v2, #int 0 // #0 │ │ +00e27a: 2200 c100 |0003: new-instance v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ +00e27e: 1a01 cf00 |0005: const-string v1, "LEFT_RIGHT_BUTTONS" // string@00cf │ │ +00e282: 7030 db02 1002 |0007: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.:(Ljava/lang/String;I)V // method@02db │ │ +00e288: 6900 f400 |000a: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.LEFT_RIGHT_BUTTONS:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f4 │ │ +00e28c: 2200 c100 |000c: new-instance v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ +00e290: 1a01 2202 |000e: const-string v1, "MIDDLE_BUTTON_ONLY" // string@0222 │ │ +00e294: 7030 db02 1003 |0010: invoke-direct {v0, v1, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.:(Ljava/lang/String;I)V // method@02db │ │ +00e29a: 6900 f500 |0013: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.MIDDLE_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f5 │ │ +00e29e: 2200 c100 |0015: new-instance v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ +00e2a2: 1a01 5700 |0017: const-string v1, "CANCEL_BUTTON_ONLY" // string@0057 │ │ +00e2a6: 7030 db02 1004 |0019: invoke-direct {v0, v1, v4}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.:(Ljava/lang/String;I)V // method@02db │ │ +00e2ac: 6900 f300 |001c: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ +00e2b0: 1230 |001e: const/4 v0, #int 3 // #3 │ │ +00e2b2: 2300 3401 |001f: new-array v0, v0, [Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@0134 │ │ +00e2b6: 6201 f400 |0021: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.LEFT_RIGHT_BUTTONS:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f4 │ │ +00e2ba: 4d01 0002 |0023: aput-object v1, v0, v2 │ │ +00e2be: 6201 f500 |0025: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.MIDDLE_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f5 │ │ +00e2c2: 4d01 0003 |0027: aput-object v1, v0, v3 │ │ +00e2c6: 6201 f300 |0029: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ +00e2ca: 4d01 0004 |002b: aput-object v1, v0, v4 │ │ +00e2ce: 6900 f200 |002d: sput-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.$VALUES:[Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f2 │ │ +00e2d2: 0e00 |002f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=56 │ │ 0x000c line=57 │ │ 0x0015 line=58 │ │ 0x001e line=55 │ │ locals : │ │ @@ -19055,17 +12597,17 @@ │ │ type : '(Ljava/lang/String;I)V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 4 16-bit code units │ │ -00ea30: |[00ea30] com.google.android.apps.authenticator.wizard.WizardPageActivity$ButtonBarType.:(Ljava/lang/String;I)V │ │ -00ea40: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ -00ea46: 0e00 |0003: return-void │ │ +00e2d4: |[00e2d4] com.google.android.apps.authenticator.wizard.WizardPageActivity$ButtonBarType.:(Ljava/lang/String;I)V │ │ +00e2e4: 7030 1f03 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@031f │ │ +00e2ea: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=55 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -19075,20 +12617,20 @@ │ │ type : '(Ljava/lang/String;)Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -00ea48: |[00ea48] com.google.android.apps.authenticator.wizard.WizardPageActivity$ButtonBarType.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; │ │ -00ea58: 1c00 c100 |0000: const-class v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ -00ea5c: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ -00ea62: 0c00 |0005: move-result-object v0 │ │ -00ea64: 1f00 c100 |0006: check-cast v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ -00ea68: 1100 |0008: return-object v0 │ │ +00e2ec: |[00e2ec] com.google.android.apps.authenticator.wizard.WizardPageActivity$ButtonBarType.valueOf:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; │ │ +00e2fc: 1c00 c100 |0000: const-class v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ +00e300: 7120 2003 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0320 │ │ +00e306: 0c00 |0005: move-result-object v0 │ │ +00e308: 1f00 c100 |0006: check-cast v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@00c1 │ │ +00e30c: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=55 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 name Ljava/lang/String; │ │ │ │ #3 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;) │ │ @@ -19096,39 +12638,39 @@ │ │ type : '()[Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -00ea6c: |[00ea6c] com.google.android.apps.authenticator.wizard.WizardPageActivity$ButtonBarType.values:()[Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; │ │ -00ea7c: 6200 f200 |0000: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.$VALUES:[Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f2 │ │ -00ea80: 6e10 9703 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.clone:()Ljava/lang/Object; // method@0397 │ │ -00ea86: 0c00 |0005: move-result-object v0 │ │ -00ea88: 1f00 3401 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@0134 │ │ -00ea8c: 1100 |0008: return-object v0 │ │ +00e310: |[00e310] com.google.android.apps.authenticator.wizard.WizardPageActivity$ButtonBarType.values:()[Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; │ │ +00e320: 6200 f200 |0000: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.$VALUES:[Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f2 │ │ +00e324: 6e10 9703 0000 |0002: invoke-virtual {v0}, [Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.clone:()Ljava/lang/Object; // method@0397 │ │ +00e32a: 0c00 |0005: move-result-object v0 │ │ +00e32c: 1f00 3401 |0006: check-cast v0, [Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // type@0134 │ │ +00e330: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=55 │ │ locals : │ │ │ │ Virtual methods - │ │ - source_file_idx : 699 (WizardPageActivity.java) │ │ + source_file_idx : 696 (WizardPageActivity.java) │ │ │ │ -Class #101 header: │ │ +Class #78 header: │ │ class_idx : 195 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ source_file_idx : 83 │ │ static_fields_size : 1 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #101 - │ │ +Class #78 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/BuildConfig;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/BuildConfig;) │ │ name : 'DEBUG' │ │ @@ -19141,42 +12683,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00ea90: |[00ea90] com.google.android.apps.authenticator2.BuildConfig.:()V │ │ -00eaa0: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00eaa6: 0e00 |0003: return-void │ │ +00e334: |[00e334] com.google.android.apps.authenticator2.BuildConfig.:()V │ │ +00e344: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e34a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=4 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/BuildConfig; │ │ │ │ Virtual methods - │ │ source_file_idx : 83 (BuildConfig.java) │ │ │ │ -Class #102 header: │ │ +Class #79 header: │ │ class_idx : 196 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 1 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #102 annotations: │ │ +Class #79 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="array" │ │ │ │ -Class #102 - │ │ +Class #79 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$array;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$array;) │ │ name : 'type' │ │ @@ -19190,42 +12732,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00eaa8: |[00eaa8] com.google.android.apps.authenticator2.R$array.:()V │ │ -00eab8: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00eabe: 0e00 |0003: return-void │ │ +00e34c: |[00e34c] com.google.android.apps.authenticator2.R$array.:()V │ │ +00e35c: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e362: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=11 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$array; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #103 header: │ │ +Class #80 header: │ │ class_idx : 197 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 9 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #103 annotations: │ │ +Class #80 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="attr" │ │ │ │ -Class #103 - │ │ +Class #80 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$attr;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$attr;) │ │ name : 'accountListWithVerificationCodes' │ │ @@ -19279,42 +12821,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00eac0: |[00eac0] com.google.android.apps.authenticator2.R$attr.:()V │ │ -00ead0: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00ead6: 0e00 |0003: return-void │ │ +00e364: |[00e364] com.google.android.apps.authenticator2.R$attr.:()V │ │ +00e374: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e37a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=19 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$attr; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #104 header: │ │ +Class #81 header: │ │ class_idx : 198 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 1 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #104 annotations: │ │ +Class #81 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="color" │ │ │ │ -Class #104 - │ │ +Class #81 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$color;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$color;) │ │ name : 'countdown_indicator' │ │ @@ -19328,42 +12870,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00ead8: |[00ead8] com.google.android.apps.authenticator2.R$color.:()V │ │ -00eae8: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00eaee: 0e00 |0003: return-void │ │ +00e37c: |[00e37c] com.google.android.apps.authenticator2.R$color.:()V │ │ +00e38c: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e392: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$color; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #105 header: │ │ +Class #82 header: │ │ class_idx : 199 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 23 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #105 annotations: │ │ +Class #82 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="drawable" │ │ │ │ -Class #105 - │ │ +Class #82 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$drawable;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$drawable;) │ │ name : 'btn_dir_next_disabled_focused_holo_dark' │ │ @@ -19487,42 +13029,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00eaf0: |[00eaf0] com.google.android.apps.authenticator2.R$drawable.:()V │ │ -00eb00: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00eb06: 0e00 |0003: return-void │ │ +00e394: |[00e394] com.google.android.apps.authenticator2.R$drawable.:()V │ │ +00e3a4: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e3aa: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=63 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$drawable; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #106 header: │ │ +Class #83 header: │ │ class_idx : 200 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 38 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #106 annotations: │ │ +Class #83 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="id" │ │ │ │ -Class #106 - │ │ +Class #83 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$id;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$id;) │ │ name : 'account_name' │ │ @@ -19721,42 +13263,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00eb08: |[00eb08] com.google.android.apps.authenticator2.R$id.:()V │ │ -00eb18: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00eb1e: 0e00 |0003: return-void │ │ +00e3ac: |[00e3ac] com.google.android.apps.authenticator2.R$id.:()V │ │ +00e3bc: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e3c2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=88 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$id; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #107 header: │ │ +Class #84 header: │ │ class_idx : 201 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 12 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #107 annotations: │ │ +Class #84 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="layout" │ │ │ │ -Class #107 - │ │ +Class #84 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$layout;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$layout;) │ │ name : 'add_other_account' │ │ @@ -19825,42 +13367,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00eb20: |[00eb20] com.google.android.apps.authenticator2.R$layout.:()V │ │ -00eb30: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00eb36: 0e00 |0003: return-void │ │ +00e3c4: |[00e3c4] com.google.android.apps.authenticator2.R$layout.:()V │ │ +00e3d4: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e3da: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$layout; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #108 header: │ │ +Class #85 header: │ │ class_idx : 202 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 1 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #108 annotations: │ │ +Class #85 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="menu" │ │ │ │ -Class #108 - │ │ +Class #85 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$menu;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$menu;) │ │ name : 'main' │ │ @@ -19874,42 +13416,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00eb38: |[00eb38] com.google.android.apps.authenticator2.R$menu.:()V │ │ -00eb48: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00eb4e: 0e00 |0003: return-void │ │ +00e3dc: |[00e3dc] com.google.android.apps.authenticator2.R$menu.:()V │ │ +00e3ec: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e3f2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=142 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$menu; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #109 header: │ │ +Class #86 header: │ │ class_idx : 203 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 84 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #109 annotations: │ │ +Class #86 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="string" │ │ │ │ -Class #109 - │ │ +Class #86 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$string;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$string;) │ │ name : 'about_preference_screen_title' │ │ @@ -20338,42 +13880,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00eb50: |[00eb50] com.google.android.apps.authenticator2.R$string.:()V │ │ -00eb60: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00eb66: 0e00 |0003: return-void │ │ +00e3f4: |[00e3f4] com.google.android.apps.authenticator2.R$string.:()V │ │ +00e404: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e40a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=145 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$string; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #110 header: │ │ +Class #87 header: │ │ class_idx : 204 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 9 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #110 annotations: │ │ +Class #87 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="style" │ │ │ │ -Class #110 - │ │ +Class #87 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$style;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$style;) │ │ name : 'AccountListWithVerificationCodes' │ │ @@ -20427,42 +13969,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00eb68: |[00eb68] com.google.android.apps.authenticator2.R$style.:()V │ │ -00eb78: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00eb7e: 0e00 |0003: return-void │ │ +00e40c: |[00e40c] com.google.android.apps.authenticator2.R$style.:()V │ │ +00e41c: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e422: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=446 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$style; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #111 header: │ │ +Class #88 header: │ │ class_idx : 205 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 11 │ │ instance_fields_size: 0 │ │ direct_methods_size : 2 │ │ virtual_methods_size: 0 │ │ │ │ -Class #111 annotations: │ │ +Class #88 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="styleable" │ │ │ │ -Class #111 - │ │ +Class #88 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$styleable;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$styleable;) │ │ name : 'CountdownIndicator' │ │ @@ -20526,28 +14068,28 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 42 16-bit code units │ │ -00eb80: |[00eb80] com.google.android.apps.authenticator2.R$styleable.:()V │ │ -00eb90: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -00eb92: 2300 2e01 |0001: new-array v0, v0, [I // type@012e │ │ -00eb96: 1201 |0003: const/4 v1, #int 0 // #0 │ │ -00eb98: 1402 0800 017f |0004: const v2, #float 1.71471e+38 // #7f010008 │ │ -00eb9e: 4b02 0001 |0007: aput v2, v0, v1 │ │ -00eba2: 6900 b601 |0009: sput-object v0, Lcom/google/android/apps/authenticator2/R$styleable;.CountdownIndicator:[I // field@01b6 │ │ -00eba6: 1300 0800 |000b: const/16 v0, #int 8 // #8 │ │ -00ebaa: 2300 2e01 |000d: new-array v0, v0, [I // type@012e │ │ -00ebae: 2600 0700 0000 |000f: fill-array-data v0, 00000016 // +00000007 │ │ -00ebb4: 6900 b801 |0012: sput-object v0, Lcom/google/android/apps/authenticator2/R$styleable;.Theme:[I // field@01b8 │ │ -00ebb8: 0e00 |0014: return-void │ │ -00ebba: 0000 |0015: nop // spacer │ │ -00ebbc: 0003 0400 0800 0000 0000 017f 0100 ... |0016: array-data (20 units) │ │ +00e424: |[00e424] com.google.android.apps.authenticator2.R$styleable.:()V │ │ +00e434: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +00e436: 2300 2e01 |0001: new-array v0, v0, [I // type@012e │ │ +00e43a: 1201 |0003: const/4 v1, #int 0 // #0 │ │ +00e43c: 1402 0800 017f |0004: const v2, #float 1.71471e+38 // #7f010008 │ │ +00e442: 4b02 0001 |0007: aput v2, v0, v1 │ │ +00e446: 6900 b601 |0009: sput-object v0, Lcom/google/android/apps/authenticator2/R$styleable;.CountdownIndicator:[I // field@01b6 │ │ +00e44a: 1300 0800 |000b: const/16 v0, #int 8 // #8 │ │ +00e44e: 2300 2e01 |000d: new-array v0, v0, [I // type@012e │ │ +00e452: 2600 0700 0000 |000f: fill-array-data v0, 00000016 // +00000007 │ │ +00e458: 6900 b801 |0012: sput-object v0, Lcom/google/android/apps/authenticator2/R$styleable;.Theme:[I // field@01b8 │ │ +00e45c: 0e00 |0014: return-void │ │ +00e45e: 0000 |0015: nop // spacer │ │ +00e460: 0003 0400 0800 0000 0000 017f 0100 ... |0016: array-data (20 units) │ │ catches : (none) │ │ positions : │ │ 0x0000 line=473 │ │ 0x000b line=514 │ │ locals : │ │ │ │ #1 : (in Lcom/google/android/apps/authenticator2/R$styleable;) │ │ @@ -20555,42 +14097,42 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00ebe4: |[00ebe4] com.google.android.apps.authenticator2.R$styleable.:()V │ │ -00ebf4: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00ebfa: 0e00 |0003: return-void │ │ +00e488: |[00e488] com.google.android.apps.authenticator2.R$styleable.:()V │ │ +00e498: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e49e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=462 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$styleable; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #112 header: │ │ +Class #89 header: │ │ class_idx : 206 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 3 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #112 annotations: │ │ +Class #89 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator2/R; │ │ VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=25 name="xml" │ │ │ │ -Class #112 - │ │ +Class #89 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R$xml;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ #0 : (in Lcom/google/android/apps/authenticator2/R$xml;) │ │ name : 'preferences' │ │ @@ -20614,41 +14156,41 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00ebfc: |[00ebfc] com.google.android.apps.authenticator2.R$xml.:()V │ │ -00ec0c: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00ec12: 0e00 |0003: return-void │ │ +00e4a0: |[00e4a0] com.google.android.apps.authenticator2.R$xml.:()V │ │ +00e4b0: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e4b6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=457 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R$xml; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ │ │ -Class #113 header: │ │ +Class #90 header: │ │ class_idx : 207 │ │ access_flags : 17 (0x0011) │ │ superclass_idx : 243 │ │ -source_file_idx : 594 │ │ +source_file_idx : 591 │ │ static_fields_size : 0 │ │ instance_fields_size: 0 │ │ direct_methods_size : 1 │ │ virtual_methods_size: 0 │ │ │ │ -Class #113 annotations: │ │ +Class #90 annotations: │ │ Annotations on class │ │ VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator2/R$styleable; Lcom/google/android/apps/authenticator2/R$xml; Lcom/google/android/apps/authenticator2/R$style; Lcom/google/android/apps/authenticator2/R$string; Lcom/google/android/apps/authenticator2/R$menu; Lcom/google/android/apps/authenticator2/R$layout; Lcom/google/android/apps/authenticator2/R$id; Lcom/google/android/apps/authenticator2/R$drawable; Lcom/google/android/apps/authenticator2/R$color; Lcom/google/android/apps/authenticator2/R$attr; Lcom/google/android/apps/authenticator2/R$array; } │ │ │ │ -Class #113 - │ │ +Class #90 - │ │ Class descriptor : 'Lcom/google/android/apps/authenticator2/R;' │ │ Access flags : 0x0011 (PUBLIC FINAL) │ │ Superclass : 'Ljava/lang/Object;' │ │ Interfaces - │ │ Static fields - │ │ Instance fields - │ │ Direct methods - │ │ @@ -20657,19 +14199,6615 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -00ec14: |[00ec14] com.google.android.apps.authenticator2.R.:()V │ │ -00ec24: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ -00ec2a: 0e00 |0003: return-void │ │ +00e4b8: |[00e4b8] com.google.android.apps.authenticator2.R.:()V │ │ +00e4c8: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e4ce: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=10 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator2/R; │ │ │ │ Virtual methods - │ │ - source_file_idx : 594 (R.java) │ │ + source_file_idx : 591 (R.java) │ │ + │ │ +Class #91 header: │ │ +class_idx : 96 │ │ +access_flags : 16 (0x0010) │ │ +superclass_idx : 243 │ │ +source_file_idx : 60 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 1 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 1 │ │ + │ │ +Class #91 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=getSigningOracle │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name=null │ │ + │ │ +Class #91 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/AccountDb$1;' │ │ + Access flags : 0x0010 (FINAL) │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;' │ │ + Static fields - │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AccountDb$1;) │ │ + name : 'val$mac' │ │ + type : 'Ljavax/crypto/Mac;' │ │ + access : 0x1010 (FINAL SYNTHETIC) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AccountDb$1;) │ │ + name : '' │ │ + type : '(Ljavax/crypto/Mac;)V' │ │ + access : 0x10000 (CONSTRUCTOR) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 1 │ │ + insns size : 6 16-bit code units │ │ +00e4d0: |[00e4d0] com.google.android.apps.authenticator.AccountDb$1.:(Ljavax/crypto/Mac;)V │ │ +00e4e0: 5b01 0700 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AccountDb$1;.val$mac:Ljavax/crypto/Mac; // field@0007 │ │ +00e4e4: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e4ea: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=245 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AccountDb$1; │ │ + 0x0000 - 0x0006 reg=1 (null) Ljavax/crypto/Mac; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AccountDb$1;) │ │ + name : 'sign' │ │ + type : '([B)[B' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 7 16-bit code units │ │ +00e4ec: |[00e4ec] com.google.android.apps.authenticator.AccountDb$1.sign:([B)[B │ │ +00e4fc: 5410 0700 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AccountDb$1;.val$mac:Ljavax/crypto/Mac; // field@0007 │ │ +00e500: 6e20 7b03 2000 |0002: invoke-virtual {v0, v2}, Ljavax/crypto/Mac;.doFinal:([B)[B // method@037b │ │ +00e506: 0c00 |0005: move-result-object v0 │ │ +00e508: 1100 |0006: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=248 │ │ + locals : │ │ + 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/AccountDb$1; │ │ + 0x0000 - 0x0007 reg=2 data [B │ │ + │ │ + source_file_idx : 60 (AccountDb.java) │ │ + │ │ +Class #92 header: │ │ +class_idx : 105 │ │ +access_flags : 0 (0x0000) │ │ +superclass_idx : 243 │ │ +source_file_idx : 68 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 1 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 3 │ │ + │ │ +Class #92 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=importDataFromOldAppIfNecessary │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ + │ │ +Class #92 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;' │ │ + Access flags : 0x0000 () │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;' │ │ + Static fields - │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ + name : 'this$0' │ │ + type : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity;' │ │ + access : 0x1010 (FINAL SYNTHETIC) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ + name : '' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ + access : 0x10000 (CONSTRUCTOR) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 1 │ │ + insns size : 6 16-bit code units │ │ +00e50c: |[00e50c] com.google.android.apps.authenticator.AuthenticatorActivity$12.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00e51c: 5b01 2000 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ +00e520: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e526: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=1178 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ + name : 'onDataImported' │ │ + type : '()V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 25 16-bit code units │ │ +00e528: |[00e528] com.google.android.apps.authenticator.AuthenticatorActivity$12.onDataImported:()V │ │ +00e538: 5420 2000 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ +00e53c: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ +00e542: 0a00 |0005: move-result v0 │ │ +00e544: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +00e548: 0e00 |0008: return-void │ │ +00e54a: 5420 2000 |0009: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ +00e54e: 1211 |000b: const/4 v1, #int 1 // #1 │ │ +00e550: 6e20 7101 1000 |000c: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:(Z)V // method@0171 │ │ +00e556: 7100 6802 0000 |000f: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00e55c: 0c00 |0012: move-result-object v0 │ │ +00e55e: 5421 2000 |0013: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ +00e562: 7220 cd01 1000 |0015: invoke-interface {v0, v1}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onDataImportedFromOldApp:(Landroid/content/Context;)V // method@01cd │ │ +00e568: 28f0 |0018: goto 0008 // -0010 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=1191 │ │ + 0x0008 line=1199 │ │ + 0x0009 line=1195 │ │ + 0x000f line=1197 │ │ + locals : │ │ + 0x0000 - 0x0019 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ + name : 'onFinished' │ │ + type : '()V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 16 16-bit code units │ │ +00e56c: |[00e56c] com.google.android.apps.authenticator.AuthenticatorActivity$12.onFinished:()V │ │ +00e57c: 5420 2000 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ +00e580: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ +00e586: 0a00 |0005: move-result v0 │ │ +00e588: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +00e58c: 0e00 |0008: return-void │ │ +00e58e: 5420 2000 |0009: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ +00e592: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +00e594: 7120 4701 1000 |000c: invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$2402:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Z)Z // method@0147 │ │ +00e59a: 28f9 |000f: goto 0008 // -0007 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=1203 │ │ + 0x0008 line=1208 │ │ + 0x0009 line=1207 │ │ + locals : │ │ + 0x0000 - 0x0010 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;) │ │ + name : 'onOldAppUninstallSuggested' │ │ + type : '(Landroid/content/Intent;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 22 16-bit code units │ │ +00e59c: |[00e59c] com.google.android.apps.authenticator.AuthenticatorActivity$12.onOldAppUninstallSuggested:(Landroid/content/Intent;)V │ │ +00e5ac: 5420 2000 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ +00e5b0: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ +00e5b6: 0a00 |0005: move-result v0 │ │ +00e5b8: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +00e5bc: 0e00 |0008: return-void │ │ +00e5be: 5420 2000 |0009: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ +00e5c2: 7120 4201 3000 |000b: invoke-static {v0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$1802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Intent;)Landroid/content/Intent; // method@0142 │ │ +00e5c8: 5420 2000 |000e: iget-object v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0020 │ │ +00e5cc: 1301 0c00 |0010: const/16 v1, #int 12 // #c │ │ +00e5d0: 6e20 7c01 1000 |0012: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00e5d6: 28f3 |0015: goto 0008 // -000d │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=1181 │ │ + 0x0008 line=1187 │ │ + 0x0009 line=1185 │ │ + 0x000e line=1186 │ │ + locals : │ │ + 0x0000 - 0x0016 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; │ │ + 0x0000 - 0x0016 reg=3 uninstallIntent Landroid/content/Intent; │ │ + │ │ + source_file_idx : 68 (AuthenticatorActivity.java) │ │ + │ │ +Class #93 header: │ │ +class_idx : 109 │ │ +access_flags : 0 (0x0000) │ │ +superclass_idx : 243 │ │ +source_file_idx : 68 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 1 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 2 │ │ + │ │ +Class #93 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=updateCodesAndStartTotpCountdownTask │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ + │ │ +Class #93 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;' │ │ + Access flags : 0x0000 () │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;' │ │ + Static fields - │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;) │ │ + name : 'this$0' │ │ + type : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity;' │ │ + access : 0x1010 (FINAL SYNTHETIC) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;) │ │ + name : '' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ + access : 0x10000 (CONSTRUCTOR) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 1 │ │ + insns size : 6 16-bit code units │ │ +00e5d8: |[00e5d8] com.google.android.apps.authenticator.AuthenticatorActivity$4.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00e5e8: 5b01 2400 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ +00e5ec: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00e5f2: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=350 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$4; │ │ + 0x0000 - 0x0006 reg=1 this$0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;) │ │ + name : 'onTotpCountdown' │ │ + type : '(J)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 15 16-bit code units │ │ +00e5f4: |[00e5f4] com.google.android.apps.authenticator.AuthenticatorActivity$4.onTotpCountdown:(J)V │ │ +00e604: 5410 2400 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ +00e608: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ +00e60e: 0a00 |0005: move-result v0 │ │ +00e610: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +00e614: 0e00 |0008: return-void │ │ +00e616: 5410 2400 |0009: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ +00e61a: 7130 4a01 2003 |000b: invoke-static {v0, v2, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$500:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;J)V // method@014a │ │ +00e620: 28fa |000e: goto 0008 // -0006 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=353 │ │ + 0x0008 line=358 │ │ + 0x0009 line=357 │ │ + locals : │ │ + 0x0000 - 0x000f reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$4; │ │ + 0x0000 - 0x000f reg=2 millisRemaining J │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;) │ │ + name : 'onTotpCounterValueChanged' │ │ + type : '()V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 15 16-bit code units │ │ +00e624: |[00e624] com.google.android.apps.authenticator.AuthenticatorActivity$4.onTotpCounterValueChanged:()V │ │ +00e634: 5410 2400 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ +00e638: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.isFinishing:()Z // method@015f │ │ +00e63e: 0a00 |0005: move-result v0 │ │ +00e640: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +00e644: 0e00 |0008: return-void │ │ +00e646: 5410 2400 |0009: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; // field@0024 │ │ +00e64a: 7110 4b01 0000 |000b: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.access$600:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@014b │ │ +00e650: 28fa |000e: goto 0008 // -0006 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=362 │ │ + 0x0008 line=367 │ │ + 0x0009 line=366 │ │ + locals : │ │ + 0x0000 - 0x000f reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity$4; │ │ + │ │ + source_file_idx : 68 (AuthenticatorActivity.java) │ │ + │ │ +Class #94 header: │ │ +class_idx : 121 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 170 │ │ +source_file_idx : 68 │ │ +static_fields_size : 22 │ │ +instance_fields_size: 16 │ │ +direct_methods_size : 39 │ │ +virtual_methods_size: 16 │ │ + │ │ +Class #94 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; } │ │ +Annotations on method #333 'computeAndDisplayPin' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ + │ │ +Class #94 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/testability/TestableActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'ACTION_SCAN_BARCODE' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x0018 (STATIC FINAL) │ │ + value : null │ │ + #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'CHECK_KEY_VALUE_ID' │ │ + type : 'I' │ │ + access : 0x0019 (PUBLIC STATIC FINAL) │ │ + value : 0 │ │ + #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'COPY_TO_CLIPBOARD_ID' │ │ + type : 'I' │ │ + access : 0x0018 (STATIC FINAL) │ │ + value : 3 │ │ + #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'COUNTER_PARAM' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "counter" │ │ + #4 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'DIALOG_ID_SAVE_KEY' │ │ + type : 'I' │ │ + access : 0x0018 (STATIC FINAL) │ │ + value : 13 │ │ + #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'DIALOG_ID_UNINSTALL_OLD_APP' │ │ + type : 'I' │ │ + access : 0x0018 (STATIC FINAL) │ │ + value : 12 │ │ + #6 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'HOTP' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "hotp" │ │ + #7 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'HOTP_DISPLAY_TIMEOUT' │ │ + type : 'J' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : 120000 │ │ + #8 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'HOTP_MIN_TIME_INTERVAL_BETWEEN_CODES' │ │ + type : 'J' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : 5000 │ │ + #9 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'KEY_OLD_APP_UNINSTALL_INTENT' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "oldAppUninstallIntent" │ │ + #10 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'KEY_SAVE_KEY_DIALOG_PARAMS' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "saveKeyDialogParams" │ │ + #11 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'LOCAL_TAG' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "AuthenticatorActivity" │ │ + #12 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'OTP_SCHEME' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "otpauth" │ │ + #13 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'PIN_TEXT_SCALEX_NORMAL' │ │ + type : 'F' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : 1 │ │ + #14 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'PIN_TEXT_SCALEX_UNDERSCORE' │ │ + type : 'F' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : 0.87 │ │ + #15 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'REMOVE_ID' │ │ + type : 'I' │ │ + access : 0x0019 (PUBLIC STATIC FINAL) │ │ + value : 2 │ │ + #16 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'RENAME_ID' │ │ + type : 'I' │ │ + access : 0x0019 (PUBLIC STATIC FINAL) │ │ + value : 1 │ │ + #17 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'SCAN_REQUEST' │ │ + type : 'I' │ │ + access : 0x0018 (STATIC FINAL) │ │ + value : 31337 │ │ + #18 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'SECRET_PARAM' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "secret" │ │ + #19 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'TOTP' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "totp" │ │ + #20 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'TOTP_COUNTDOWN_REFRESH_PERIOD' │ │ + type : 'J' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : 100 │ │ + #21 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'VIBRATE_DURATION' │ │ + type : 'J' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : 200 │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mAccountDb' │ │ + type : 'Lcom/google/android/apps/authenticator/AccountDb;' │ │ + access : 0x0002 (PRIVATE) │ │ + #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mContentAccountsPresent' │ │ + type : 'Landroid/view/View;' │ │ + access : 0x0002 (PRIVATE) │ │ + #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mContentNoAccounts' │ │ + type : 'Landroid/view/View;' │ │ + access : 0x0002 (PRIVATE) │ │ + #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mDataImportInProgress' │ │ + type : 'Z' │ │ + access : 0x0002 (PRIVATE) │ │ + #4 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mEnterPinPrompt' │ │ + type : 'Landroid/widget/TextView;' │ │ + access : 0x0002 (PRIVATE) │ │ + #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mOldAppUninstallIntent' │ │ + type : 'Landroid/content/Intent;' │ │ + access : 0x0002 (PRIVATE) │ │ + #6 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mOtpProvider' │ │ + type : 'Lcom/google/android/apps/authenticator/OtpSource;' │ │ + access : 0x0002 (PRIVATE) │ │ + #7 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mSaveKeyDialogParams' │ │ + type : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;' │ │ + access : 0x0002 (PRIVATE) │ │ + #8 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mSaveKeyIntentConfirmationInProgress' │ │ + type : 'Z' │ │ + access : 0x0002 (PRIVATE) │ │ + #9 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mTotpClock' │ │ + type : 'Lcom/google/android/apps/authenticator/TotpClock;' │ │ + access : 0x0002 (PRIVATE) │ │ + #10 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mTotpCountdownPhase' │ │ + type : 'D' │ │ + access : 0x0002 (PRIVATE) │ │ + #11 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mTotpCountdownTask' │ │ + type : 'Lcom/google/android/apps/authenticator/TotpCountdownTask;' │ │ + access : 0x0002 (PRIVATE) │ │ + #12 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mTotpCounter' │ │ + type : 'Lcom/google/android/apps/authenticator/TotpCounter;' │ │ + access : 0x0002 (PRIVATE) │ │ + #13 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mUserAdapter' │ │ + type : 'Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;' │ │ + access : 0x0002 (PRIVATE) │ │ + #14 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mUserList' │ │ + type : 'Landroid/widget/ListView;' │ │ + access : 0x0002 (PRIVATE) │ │ + #15 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'mUsers' │ │ + type : '[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;' │ │ + access : 0x0002 (PRIVATE) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10008 (STATIC CONSTRUCTOR) │ │ + code - │ │ + registers : 2 │ │ + ins : 0 │ │ + outs : 2 │ │ + insns size : 28 16-bit code units │ │ +00e654: |[00e654] com.google.android.apps.authenticator.AuthenticatorActivity.:()V │ │ +00e664: 2200 f900 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@00f9 │ │ +00e668: 7010 5303 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00e66e: 1c01 7900 |0005: const-class v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity; // type@0079 │ │ +00e672: 6e10 1903 0100 |0007: invoke-virtual {v1}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0319 │ │ +00e678: 0c01 |000a: move-result-object v1 │ │ +00e67a: 6e20 5a03 1000 |000b: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00e680: 0c00 |000e: move-result-object v0 │ │ +00e682: 1a01 1b00 |000f: const-string v1, ".ScanBarcode" // string@001b │ │ +00e686: 6e20 5a03 1000 |0011: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00e68c: 0c00 |0014: move-result-object v0 │ │ +00e68e: 6e10 5b03 0000 |0015: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00e694: 0c00 |0018: move-result-object v0 │ │ +00e696: 6900 3f00 |0019: sput-object v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.ACTION_SCAN_BARCODE:Ljava/lang/String; // field@003f │ │ +00e69a: 0e00 |001b: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=107 │ │ + 0x0007 line=108 │ │ + 0x001b line=107 │ │ + locals : │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 9 16-bit code units │ │ +00e69c: |[00e69c] com.google.android.apps.authenticator.AuthenticatorActivity.:()V │ │ +00e6ac: 7010 7e02 0100 |0000: invoke-direct {v1}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.:()V // method@027e │ │ +00e6b2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +00e6b4: 2300 3001 |0004: new-array v0, v0, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ +00e6b8: 5b10 6400 |0006: iput-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00e6bc: 0e00 |0008: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + 0x0003 line=115 │ │ + locals : │ │ + 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$1100' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb;' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00e6c0: |[00e6c0] com.google.android.apps.authenticator.AuthenticatorActivity.access$1100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; │ │ +00e6d0: 5410 5500 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ +00e6d4: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$1200' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 6 │ │ + ins : 6 │ │ + outs : 6 │ │ + insns size : 4 16-bit code units │ │ +00e6d8: |[00e6d8] com.google.android.apps.authenticator.AuthenticatorActivity.access$1200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ +00e6e8: 7606 7601 0000 |0000: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.saveSecretAndRefreshUserList:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@0176 │ │ +00e6ee: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0004 reg=1 x1 Ljava/lang/String; │ │ + 0x0000 - 0x0004 reg=2 x2 Ljava/lang/String; │ │ + 0x0000 - 0x0004 reg=3 x3 Ljava/lang/String; │ │ + 0x0000 - 0x0004 reg=4 x4 Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x0000 - 0x0004 reg=5 x5 Ljava/lang/Integer; │ │ + │ │ + #4 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$1700' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +00e6f0: |[00e6f0] com.google.android.apps.authenticator.AuthenticatorActivity.access$1700:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00e700: 7010 6c01 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.onSaveKeyIntentConfirmationPromptDismissed:()V // method@016c │ │ +00e706: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$1800' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/content/Intent;' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00e708: |[00e708] com.google.android.apps.authenticator.AuthenticatorActivity.access$1800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/content/Intent; │ │ +00e718: 5410 5a00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOldAppUninstallIntent:Landroid/content/Intent; // field@005a │ │ +00e71c: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #6 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$1802' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Intent;)Landroid/content/Intent;' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00e720: |[00e720] com.google.android.apps.authenticator.AuthenticatorActivity.access$1802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Intent;)Landroid/content/Intent; │ │ +00e730: 5b01 5a00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOldAppUninstallIntent:Landroid/content/Intent; // field@005a │ │ +00e734: 1101 |0002: return-object v1 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0003 reg=1 x1 Landroid/content/Intent; │ │ + │ │ + #7 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$1900' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00e738: |[00e738] com.google.android.apps.authenticator.AuthenticatorActivity.access$1900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ │ +00e748: 5410 6200 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ +00e74c: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #8 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$200' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +00e750: |[00e750] com.google.android.apps.authenticator.AuthenticatorActivity.access$200:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00e760: 7010 4f01 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.displayHowItWorksInstructions:()V // method@014f │ │ +00e766: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #9 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$2100' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00e768: |[00e768] com.google.android.apps.authenticator.AuthenticatorActivity.access$2100:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ +00e778: 5410 6400 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00e77c: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #10 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$2300' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)D' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00e780: |[00e780] com.google.android.apps.authenticator.AuthenticatorActivity.access$2300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)D │ │ +00e790: 5320 5f00 |0000: iget-wide v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownPhase:D // field@005f │ │ +00e794: 1000 |0002: return-wide v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=2 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #11 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$2402' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Z)Z' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00e798: |[00e798] com.google.android.apps.authenticator.AuthenticatorActivity.access$2402:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Z)Z │ │ +00e7a8: 5c01 5800 |0000: iput-boolean v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mDataImportInProgress:Z // field@0058 │ │ +00e7ac: 0f01 |0002: return v1 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0003 reg=1 x1 Z │ │ + │ │ + #12 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$300' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +00e7b0: |[00e7b0] com.google.android.apps.authenticator.AuthenticatorActivity.access$300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00e7c0: 7010 4c01 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.addAccount:()V // method@014c │ │ +00e7c6: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #13 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$400' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/widget/ListView;' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00e7c8: |[00e7c8] com.google.android.apps.authenticator.AuthenticatorActivity.access$400:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Landroid/widget/ListView; │ │ +00e7d8: 5410 6300 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00e7dc: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #14 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$500' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;J)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 4 16-bit code units │ │ +00e7e0: |[00e7e0] com.google.android.apps.authenticator.AuthenticatorActivity.access$500:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;J)V │ │ +00e7f0: 7030 7b01 2103 |0000: invoke-direct {v1, v2, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setTotpCountdownPhaseFromTimeTillNextValue:(J)V // method@017b │ │ +00e7f6: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=1 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0004 reg=2 x1 J │ │ + │ │ + #15 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'access$600' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +00e7f8: |[00e7f8] com.google.android.apps.authenticator.AuthenticatorActivity.access$600:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00e808: 7010 7201 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshVerificationCodes:()V // method@0172 │ │ +00e80e: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #16 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'addAccount' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 8 16-bit code units │ │ +00e810: |[00e810] com.google.android.apps.authenticator.AuthenticatorActivity.addAccount:()V │ │ +00e820: 7100 6802 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00e826: 0c00 |0003: move-result-object v0 │ │ +00e828: 7220 c901 1000 |0004: invoke-interface {v0, v1}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityAddAccount:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@01c9 │ │ +00e82e: 0e00 |0007: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=799 │ │ + 0x0007 line=800 │ │ + locals : │ │ + 0x0000 - 0x0008 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #17 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'createOkAlertDialog' │ │ + type : '(III)Landroid/app/Dialog;' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 7 │ │ + ins : 4 │ │ + outs : 3 │ │ + insns size : 30 16-bit code units │ │ +00e830: |[00e830] com.google.android.apps.authenticator.AuthenticatorActivity.createOkAlertDialog:(III)Landroid/app/Dialog; │ │ +00e840: 2200 0900 |0000: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0009 │ │ +00e844: 7020 0700 3000 |0002: invoke-direct {v0, v3}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ +00e84a: 6e20 1000 4000 |0005: invoke-virtual {v0, v4}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ +00e850: 0c00 |0008: move-result-object v0 │ │ +00e852: 6e20 0b00 5000 |0009: invoke-virtual {v0, v5}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ +00e858: 0c00 |000c: move-result-object v0 │ │ +00e85a: 6e20 0a00 6000 |000d: invoke-virtual {v0, v6}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ +00e860: 0c00 |0010: move-result-object v0 │ │ +00e862: 1401 3700 067f |0011: const v1, #float 1.78118e+38 // #7f060037 │ │ +00e868: 1202 |0014: const/4 v2, #int 0 // #0 │ │ +00e86a: 6e30 0f00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ +00e870: 0c00 |0018: move-result-object v0 │ │ +00e872: 6e10 0800 0000 |0019: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ +00e878: 0c00 |001c: move-result-object v0 │ │ +00e87a: 1100 |001d: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=1003 │ │ + 0x0005 line=1004 │ │ + 0x0009 line=1005 │ │ + 0x000d line=1006 │ │ + 0x0015 line=1007 │ │ + 0x0019 line=1008 │ │ + 0x001d line=1003 │ │ + locals : │ │ + 0x0000 - 0x001e reg=3 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x001e reg=4 titleId I │ │ + 0x0000 - 0x001e reg=5 messageId I │ │ + 0x0000 - 0x001e reg=6 iconId I │ │ + │ │ + #18 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'displayHowItWorksInstructions' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 11 16-bit code units │ │ +00e87c: |[00e87c] com.google.android.apps.authenticator.AuthenticatorActivity.displayHowItWorksInstructions:()V │ │ +00e88c: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ +00e890: 1c01 a200 |0002: const-class v1, Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity; // type@00a2 │ │ +00e894: 7030 2f00 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ +00e89a: 6e20 7e01 0200 |0007: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ +00e8a0: 0e00 |000a: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=795 │ │ + 0x000a line=796 │ │ + locals : │ │ + 0x0000 - 0x000b reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #19 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'getLaunchIntentActionScanBarcode' │ │ + type : '(Landroid/content/Context;)Landroid/content/Intent;' │ │ + access : 0x0009 (PUBLIC STATIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 19 16-bit code units │ │ +00e8a4: |[00e8a4] com.google.android.apps.authenticator.AuthenticatorActivity.getLaunchIntentActionScanBarcode:(Landroid/content/Context;)Landroid/content/Intent; │ │ +00e8b4: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ +00e8b8: 6201 3f00 |0002: sget-object v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.ACTION_SCAN_BARCODE:Ljava/lang/String; // field@003f │ │ +00e8bc: 7020 3000 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0030 │ │ +00e8c2: 2201 0f00 |0007: new-instance v1, Landroid/content/ComponentName; // type@000f │ │ +00e8c6: 1c02 7900 |0009: const-class v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity; // type@0079 │ │ +00e8ca: 7030 1c00 3102 |000b: invoke-direct {v1, v3, v2}, Landroid/content/ComponentName;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@001c │ │ +00e8d0: 6e20 3c00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setComponent:(Landroid/content/ComponentName;)Landroid/content/Intent; // method@003c │ │ +00e8d6: 0c00 |0011: move-result-object v0 │ │ +00e8d8: 1100 |0012: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=814 │ │ + 0x000e line=815 │ │ + 0x0012 line=814 │ │ + locals : │ │ + 0x0000 - 0x0013 reg=3 context Landroid/content/Context; │ │ + │ │ + #20 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'getRenameClickListener' │ │ + type : '(Landroid/content/Context;Ljava/lang/String;Landroid/widget/EditText;)Landroid/content/DialogInterface$OnClickListener;' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 5 │ │ + ins : 4 │ │ + outs : 5 │ │ + insns size : 6 16-bit code units │ │ +00e8dc: |[00e8dc] com.google.android.apps.authenticator.AuthenticatorActivity.getRenameClickListener:(Landroid/content/Context;Ljava/lang/String;Landroid/widget/EditText;)Landroid/content/DialogInterface$OnClickListener; │ │ +00e8ec: 2200 6f00 |0000: new-instance v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6; // type@006f │ │ +00e8f0: 7052 1701 1034 |0002: invoke-direct {v0, v1, v4, v3, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/widget/EditText;Ljava/lang/String;Landroid/content/Context;)V // method@0117 │ │ +00e8f6: 1100 |0005: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=743 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0006 reg=2 context Landroid/content/Context; │ │ + 0x0000 - 0x0006 reg=3 user Ljava/lang/String; │ │ + 0x0000 - 0x0006 reg=4 nameEdit Landroid/widget/EditText; │ │ + │ │ + #21 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'handleIntent' │ │ + type : '(Landroid/content/Intent;)V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 5 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 36 16-bit code units │ │ +00e8f8: |[00e8f8] com.google.android.apps.authenticator.AuthenticatorActivity.handleIntent:(Landroid/content/Intent;)V │ │ +00e908: 3904 0300 |0000: if-nez v4, 0003 // +0003 │ │ +00e90c: 0e00 |0002: return-void │ │ +00e90e: 6e10 3300 0400 |0003: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@0033 │ │ +00e914: 0c00 |0006: move-result-object v0 │ │ +00e916: 3800 fbff |0007: if-eqz v0, 0002 // -0005 │ │ +00e91a: 6201 3f00 |0009: sget-object v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.ACTION_SCAN_BARCODE:Ljava/lang/String; // field@003f │ │ +00e91e: 6e20 4403 0100 |000b: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00e924: 0a01 |000e: move-result v1 │ │ +00e926: 3801 0600 |000f: if-eqz v1, 0015 // +0006 │ │ +00e92a: 7010 7701 0300 |0011: invoke-direct {v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.scanBarcode:()V // method@0177 │ │ +00e930: 28ee |0014: goto 0002 // -0012 │ │ +00e932: 6e10 3400 0400 |0015: invoke-virtual {v4}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@0034 │ │ +00e938: 0c01 |0018: move-result-object v1 │ │ +00e93a: 3801 e9ff |0019: if-eqz v1, 0002 // -0017 │ │ +00e93e: 6e10 3400 0400 |001b: invoke-virtual {v4}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@0034 │ │ +00e944: 0c01 |001e: move-result-object v1 │ │ +00e946: 1212 |001f: const/4 v2, #int 1 // #1 │ │ +00e948: 7030 5e01 1302 |0020: invoke-direct {v3, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.interpretScanResult:(Landroid/net/Uri;Z)V // method@015e │ │ +00e94e: 28df |0023: goto 0002 // -0021 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=285 │ │ + 0x0002 line=299 │ │ + 0x0003 line=289 │ │ + 0x0007 line=290 │ │ + 0x0009 line=294 │ │ + 0x0011 line=295 │ │ + 0x0015 line=296 │ │ + 0x001b line=297 │ │ + locals : │ │ + 0x0007 - 0x0024 reg=0 action Ljava/lang/String; │ │ + 0x0000 - 0x0024 reg=3 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0024 reg=4 intent Landroid/content/Intent; │ │ + │ │ + #22 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'idToEmail' │ │ + type : '(J)Ljava/lang/String;' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 6 │ │ + ins : 3 │ │ + outs : 1 │ │ + insns size : 10 16-bit code units │ │ +00e950: |[00e950] com.google.android.apps.authenticator.AuthenticatorActivity.idToEmail:(J)Ljava/lang/String; │ │ +00e960: 5430 6400 |0000: iget-object v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00e964: 8441 |0002: long-to-int v1, v4 │ │ +00e966: 4600 0001 |0003: aget-object v0, v0, v1 │ │ +00e96a: 7110 3001 0000 |0005: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$900:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@0130 │ │ +00e970: 0c00 |0008: move-result-object v0 │ │ +00e972: 1100 |0009: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=649 │ │ + locals : │ │ + 0x0000 - 0x000a reg=3 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x000a reg=4 id J │ │ + │ │ + #23 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'importDataFromOldAppIfNecessary' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 21 16-bit code units │ │ +00e974: |[00e974] com.google.android.apps.authenticator.AuthenticatorActivity.importDataFromOldAppIfNecessary:()V │ │ +00e984: 5520 5800 |0000: iget-boolean v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mDataImportInProgress:Z // field@0058 │ │ +00e988: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +00e98c: 0e00 |0004: return-void │ │ +00e98e: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +00e990: 5c20 5800 |0006: iput-boolean v0, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mDataImportInProgress:Z // field@0058 │ │ +00e994: 7100 6602 0000 |0008: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getDataImportController:()Lcom/google/android/apps/authenticator/dataimport/ImportController; // method@0266 │ │ +00e99a: 0c00 |000b: move-result-object v0 │ │ +00e99c: 2201 6900 |000c: new-instance v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12; // type@0069 │ │ +00e9a0: 7020 0801 2100 |000e: invoke-direct {v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0108 │ │ +00e9a6: 7230 3e02 2001 |0011: invoke-interface {v0, v2, v1}, Lcom/google/android/apps/authenticator/dataimport/ImportController;.start:(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@023e │ │ +00e9ac: 28f0 |0014: goto 0004 // -0010 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=1174 │ │ + 0x0004 line=1210 │ │ + 0x0005 line=1177 │ │ + 0x0008 line=1178 │ │ + locals : │ │ + 0x0000 - 0x0015 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #24 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'interpretScanResult' │ │ + type : '(Landroid/net/Uri;Z)V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 6 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 61 16-bit code units │ │ +00e9b0: |[00e9b0] com.google.android.apps.authenticator.AuthenticatorActivity.interpretScanResult:(Landroid/net/Uri;Z)V │ │ +00e9c0: 1232 |0000: const/4 v2, #int 3 // #3 │ │ +00e9c2: 7100 6802 0000 |0001: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00e9c8: 0c00 |0004: move-result-object v0 │ │ +00e9ca: 7230 c701 3004 |0005: invoke-interface {v0, v3, v4}, Lcom/google/android/apps/authenticator/OptionalFeatures;.interpretScanResult:(Landroid/content/Context;Landroid/net/Uri;)Z // method@01c7 │ │ +00e9d0: 0a00 |0008: move-result v0 │ │ +00e9d2: 3800 0300 |0009: if-eqz v0, 000c // +0003 │ │ +00e9d6: 0e00 |000b: return-void │ │ +00e9d8: 3805 1100 |000c: if-eqz v5, 001d // +0011 │ │ +00e9dc: 5530 5d00 |000e: iget-boolean v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyIntentConfirmationInProgress:Z // field@005d │ │ +00e9e0: 3800 0a00 |0010: if-eqz v0, 001a // +000a │ │ +00e9e4: 1a00 4300 |0012: const-string v0, "AuthenticatorActivity" // string@0043 │ │ +00e9e8: 1a01 b000 |0014: const-string v1, "Ignoring save key Intent: previous Intent not yet confirmed by user" // string@00b0 │ │ +00e9ec: 7120 9a00 1000 |0016: invoke-static {v0, v1}, Landroid/util/Log;.w:(Ljava/lang/String;Ljava/lang/String;)I // method@009a │ │ +00e9f2: 28f2 |0019: goto 000b // -000e │ │ +00e9f4: 1210 |001a: const/4 v0, #int 1 // #1 │ │ +00e9f6: 5c30 5d00 |001b: iput-boolean v0, v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyIntentConfirmationInProgress:Z // field@005d │ │ +00e9fa: 3904 0600 |001d: if-nez v4, 0023 // +0006 │ │ +00e9fe: 6e20 7c01 2300 |001f: invoke-virtual {v3, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00ea04: 28e9 |0022: goto 000b // -0017 │ │ +00ea06: 1a00 9105 |0023: const-string v0, "otpauth" // string@0591 │ │ +00ea0a: 6e10 6b00 0400 |0025: invoke-virtual {v4}, Landroid/net/Uri;.getScheme:()Ljava/lang/String; // method@006b │ │ +00ea10: 0c01 |0028: move-result-object v1 │ │ +00ea12: 6e20 4403 1000 |0029: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00ea18: 0a00 |002c: move-result v0 │ │ +00ea1a: 3800 0c00 |002d: if-eqz v0, 0039 // +000c │ │ +00ea1e: 6e10 6800 0400 |002f: invoke-virtual {v4}, Landroid/net/Uri;.getAuthority:()Ljava/lang/String; // method@0068 │ │ +00ea24: 0c00 |0032: move-result-object v0 │ │ +00ea26: 3800 0600 |0033: if-eqz v0, 0039 // +0006 │ │ +00ea2a: 7030 6f01 4305 |0035: invoke-direct {v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.parseSecret:(Landroid/net/Uri;Z)V // method@016f │ │ +00ea30: 28d3 |0038: goto 000b // -002d │ │ +00ea32: 6e20 7c01 2300 |0039: invoke-virtual {v3, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00ea38: 28cf |003c: goto 000b // -0031 │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=834 │ │ + 0x000b line=866 │ │ + 0x000c line=844 │ │ + 0x000e line=845 │ │ + 0x0012 line=846 │ │ + 0x001a line=851 │ │ + 0x001d line=855 │ │ + 0x001f line=856 │ │ + 0x0023 line=861 │ │ + 0x0035 line=862 │ │ + 0x0039 line=864 │ │ + locals : │ │ + 0x0000 - 0x003d reg=3 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x003d reg=4 scanResult Landroid/net/Uri; │ │ + 0x0000 - 0x003d reg=5 confirmBeforeSave Z │ │ + │ │ + #25 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'markDialogAsResultOfSaveKeyIntent' │ │ + type : '(Landroid/app/Dialog;)V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 9 16-bit code units │ │ +00ea3c: |[00ea3c] com.google.android.apps.authenticator.AuthenticatorActivity.markDialogAsResultOfSaveKeyIntent:(Landroid/app/Dialog;)V │ │ +00ea4c: 2200 6800 |0000: new-instance v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$11; // type@0068 │ │ +00ea50: 7020 0601 1000 |0002: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$11;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0106 │ │ +00ea56: 6e20 1a00 0200 |0005: invoke-virtual {v2, v0}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001a │ │ +00ea5c: 0e00 |0008: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=983 │ │ + 0x0008 line=989 │ │ + locals : │ │ + 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0009 reg=2 dialog Landroid/app/Dialog; │ │ + │ │ + #26 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onSaveKeyIntentConfirmationPromptDismissed' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 4 16-bit code units │ │ +00ea60: |[00ea60] com.google.android.apps.authenticator.AuthenticatorActivity.onSaveKeyIntentConfirmationPromptDismissed:()V │ │ +00ea70: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +00ea72: 5c10 5d00 |0001: iput-boolean v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyIntentConfirmationInProgress:Z // field@005d │ │ +00ea76: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=996 │ │ + 0x0003 line=997 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #27 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'parseSecret' │ │ + type : '(Landroid/net/Uri;Z)V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 20 │ │ + ins : 3 │ │ + outs : 6 │ │ + insns size : 288 16-bit code units │ │ +00ea78: |[00ea78] com.google.android.apps.authenticator.AuthenticatorActivity.parseSecret:(Landroid/net/Uri;Z)V │ │ +00ea88: 7401 6b00 1200 |0000: invoke-virtual/range {v18}, Landroid/net/Uri;.getScheme:()Ljava/lang/String; // method@006b │ │ +00ea8e: 0c01 |0003: move-result-object v1 │ │ +00ea90: 6e10 4e03 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@034e │ │ +00ea96: 0c10 |0007: move-result-object v16 │ │ +00ea98: 7401 6900 1200 |0008: invoke-virtual/range {v18}, Landroid/net/Uri;.getPath:()Ljava/lang/String; // method@0069 │ │ +00ea9e: 0c0f |000b: move-result-object v15 │ │ +00eaa0: 7401 6800 1200 |000c: invoke-virtual/range {v18}, Landroid/net/Uri;.getAuthority:()Ljava/lang/String; // method@0068 │ │ +00eaa6: 0c0c |000f: move-result-object v12 │ │ +00eaa8: 1a01 9105 |0010: const-string v1, "otpauth" // string@0591 │ │ +00eaac: 0800 1000 |0012: move-object/from16 v0, v16 │ │ +00eab0: 6e20 4403 0100 |0014: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00eab6: 0a01 |0017: move-result v1 │ │ +00eab8: 3901 1600 |0018: if-nez v1, 002e // +0016 │ │ +00eabc: 1501 067f |001a: const/high16 v1, #int 2131099648 // #7f06 │ │ +00eac0: 0800 1100 |001c: move-object/from16 v0, v17 │ │ +00eac4: 6e20 5801 1000 |001e: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00eaca: 0c01 |0021: move-result-object v1 │ │ +00eacc: 1a06 4700 |0022: const-string v6, "AuthenticatorActivity: Invalid or missing scheme in uri" // string@0047 │ │ +00ead0: 7120 9800 6100 |0024: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +00ead6: 1231 |0027: const/4 v1, #int 3 // #3 │ │ +00ead8: 0800 1100 |0028: move-object/from16 v0, v17 │ │ +00eadc: 6e20 7c01 1000 |002a: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00eae2: 0e00 |002d: return-void │ │ +00eae4: 1a01 a506 |002e: const-string v1, "totp" // string@06a5 │ │ +00eae8: 6e20 4403 c100 |0030: invoke-virtual {v1, v12}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00eaee: 0a01 |0033: move-result v1 │ │ +00eaf0: 3801 2000 |0034: if-eqz v1, 0054 // +0020 │ │ +00eaf4: 6204 0a00 |0036: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ +00eaf8: 6205 0d00 |0038: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ +00eafc: 7110 8301 0f00 |003a: invoke-static {v15}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.validateAndGetUserInPath:(Ljava/lang/String;)Ljava/lang/String; // method@0183 │ │ +00eb02: 0c02 |003d: move-result-object v2 │ │ +00eb04: 3902 5f00 |003e: if-nez v2, 009d // +005f │ │ +00eb08: 1501 067f |0040: const/high16 v1, #int 2131099648 // #7f06 │ │ +00eb0c: 0800 1100 |0042: move-object/from16 v0, v17 │ │ +00eb10: 6e20 5801 1000 |0044: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00eb16: 0c01 |0047: move-result-object v1 │ │ +00eb18: 1a06 4900 |0048: const-string v6, "AuthenticatorActivity: Missing user id in uri" // string@0049 │ │ +00eb1c: 7120 9800 6100 |004a: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +00eb22: 1231 |004d: const/4 v1, #int 3 // #3 │ │ +00eb24: 0800 1100 |004e: move-object/from16 v0, v17 │ │ +00eb28: 6e20 7c01 1000 |0050: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00eb2e: 28da |0053: goto 002d // -0026 │ │ +00eb30: 1a01 8c04 |0054: const-string v1, "hotp" // string@048c │ │ +00eb34: 6e20 4403 c100 |0056: invoke-virtual {v1, v12}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00eb3a: 0a01 |0059: move-result v1 │ │ +00eb3c: 3801 2f00 |005a: if-eqz v1, 0089 // +002f │ │ +00eb40: 6204 0900 |005c: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +00eb44: 1a01 9403 |005e: const-string v1, "counter" // string@0394 │ │ +00eb48: 0800 1200 |0060: move-object/from16 v0, v18 │ │ +00eb4c: 6e20 6a00 1000 |0062: invoke-virtual {v0, v1}, Landroid/net/Uri;.getQueryParameter:(Ljava/lang/String;)Ljava/lang/String; // method@006a │ │ +00eb52: 0c0d |0065: move-result-object v13 │ │ +00eb54: 380d 2000 |0066: if-eqz v13, 0086 // +0020 │ │ +00eb58: 7110 2e03 0d00 |0068: invoke-static {v13}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@032e │ │ +00eb5e: 0a01 |006b: move-result v1 │ │ +00eb60: 7110 3203 0100 |006c: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0332 │ │ +00eb66: 0c05 |006f: move-result-object v5 │ │ +00eb68: 28ca |0070: goto 003a // -0036 │ │ +00eb6a: 0d0e |0071: move-exception v14 │ │ +00eb6c: 1501 067f |0072: const/high16 v1, #int 2131099648 // #7f06 │ │ +00eb70: 0800 1100 |0074: move-object/from16 v0, v17 │ │ +00eb74: 6e20 5801 1000 |0076: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00eb7a: 0c01 |0079: move-result-object v1 │ │ +00eb7c: 1a06 4500 |007a: const-string v6, "AuthenticatorActivity: Invalid counter in uri" // string@0045 │ │ +00eb80: 7120 9800 6100 |007c: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +00eb86: 1231 |007f: const/4 v1, #int 3 // #3 │ │ +00eb88: 0800 1100 |0080: move-object/from16 v0, v17 │ │ +00eb8c: 6e20 7c01 1000 |0082: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00eb92: 28a8 |0085: goto 002d // -0058 │ │ +00eb94: 6205 0d00 |0086: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ +00eb98: 28b2 |0088: goto 003a // -004e │ │ +00eb9a: 1501 067f |0089: const/high16 v1, #int 2131099648 // #7f06 │ │ +00eb9e: 0800 1100 |008b: move-object/from16 v0, v17 │ │ +00eba2: 6e20 5801 1000 |008d: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00eba8: 0c01 |0090: move-result-object v1 │ │ +00ebaa: 1a06 4600 |0091: const-string v6, "AuthenticatorActivity: Invalid or missing authority in uri" // string@0046 │ │ +00ebae: 7120 9800 6100 |0093: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +00ebb4: 1231 |0096: const/4 v1, #int 3 // #3 │ │ +00ebb6: 0800 1100 |0097: move-object/from16 v0, v17 │ │ +00ebba: 6e20 7c01 1000 |0099: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00ebc0: 2891 |009c: goto 002d // -006f │ │ +00ebc2: 1a01 1406 |009d: const-string v1, "secret" // string@0614 │ │ +00ebc6: 0800 1200 |009f: move-object/from16 v0, v18 │ │ +00ebca: 6e20 6a00 1000 |00a1: invoke-virtual {v0, v1}, Landroid/net/Uri;.getQueryParameter:(Ljava/lang/String;)Ljava/lang/String; // method@006a │ │ +00ebd0: 0c03 |00a4: move-result-object v3 │ │ +00ebd2: 3803 0800 |00a5: if-eqz v3, 00ad // +0008 │ │ +00ebd6: 6e10 4703 0300 |00a7: invoke-virtual {v3}, Ljava/lang/String;.length:()I // method@0347 │ │ +00ebdc: 0a01 |00aa: move-result v1 │ │ +00ebde: 3901 1700 |00ab: if-nez v1, 00c2 // +0017 │ │ +00ebe2: 1501 067f |00ad: const/high16 v1, #int 2131099648 // #7f06 │ │ +00ebe6: 0800 1100 |00af: move-object/from16 v0, v17 │ │ +00ebea: 6e20 5801 1000 |00b1: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00ebf0: 0c01 |00b4: move-result-object v1 │ │ +00ebf2: 1a06 4a00 |00b5: const-string v6, "AuthenticatorActivity: Secret key not found in URI" // string@004a │ │ +00ebf6: 7120 9800 6100 |00b7: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +00ebfc: 1271 |00ba: const/4 v1, #int 7 // #7 │ │ +00ebfe: 0800 1100 |00bb: move-object/from16 v0, v17 │ │ +00ec02: 6e20 7c01 1000 |00bd: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00ec08: 2900 6dff |00c0: goto/16 002d // -0093 │ │ +00ec0c: 7110 e900 0300 |00c2: invoke-static {v3}, Lcom/google/android/apps/authenticator/AccountDb;.getSigningOracle:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; // method@00e9 │ │ +00ec12: 0c01 |00c5: move-result-object v1 │ │ +00ec14: 3901 1700 |00c6: if-nez v1, 00dd // +0017 │ │ +00ec18: 1501 067f |00c8: const/high16 v1, #int 2131099648 // #7f06 │ │ +00ec1c: 0800 1100 |00ca: move-object/from16 v0, v17 │ │ +00ec20: 6e20 5801 1000 |00cc: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00ec26: 0c01 |00cf: move-result-object v1 │ │ +00ec28: 1a06 4800 |00d0: const-string v6, "AuthenticatorActivity: Invalid secret key" // string@0048 │ │ +00ec2c: 7120 9800 6100 |00d2: invoke-static {v1, v6}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +00ec32: 1271 |00d5: const/4 v1, #int 7 // #7 │ │ +00ec34: 0800 1100 |00d6: move-object/from16 v0, v17 │ │ +00ec38: 6e20 7c01 1000 |00d8: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00ec3e: 2900 52ff |00db: goto/16 002d // -00ae │ │ +00ec42: 0800 1100 |00dd: move-object/from16 v0, v17 │ │ +00ec46: 5401 5500 |00df: iget-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ +00ec4a: 6e20 e800 2100 |00e1: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@00e8 │ │ +00ec50: 0c01 |00e4: move-result-object v1 │ │ +00ec52: 6e20 4403 1300 |00e5: invoke-virtual {v3, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@0344 │ │ +00ec58: 0a01 |00e8: move-result v1 │ │ +00ec5a: 3801 1600 |00e9: if-eqz v1, 00ff // +0016 │ │ +00ec5e: 0800 1100 |00eb: move-object/from16 v0, v17 │ │ +00ec62: 5401 5500 |00ed: iget-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ +00ec66: 6e20 e500 2100 |00ef: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ +00ec6c: 0c01 |00f2: move-result-object v1 │ │ +00ec6e: 3315 0c00 |00f3: if-ne v5, v1, 00ff // +000c │ │ +00ec72: 0800 1100 |00f5: move-object/from16 v0, v17 │ │ +00ec76: 5401 5500 |00f7: iget-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ +00ec7a: 6e20 ea00 2100 |00f9: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ +00ec80: 0c01 |00fc: move-result-object v1 │ │ +00ec82: 3214 30ff |00fd: if-eq v4, v1, 002d // -00d0 │ │ +00ec86: 3813 1500 |00ff: if-eqz v19, 0114 // +0015 │ │ +00ec8a: 2201 7800 |0101: new-instance v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // type@0078 │ │ +00ec8e: 1206 |0103: const/4 v6, #int 0 // #0 │ │ +00ec90: 7606 3701 0100 |0104: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.:(Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V // method@0137 │ │ +00ec96: 0800 1100 |0107: move-object/from16 v0, v17 │ │ +00ec9a: 5b01 5c00 |0109: iput-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@005c │ │ +00ec9e: 1301 0d00 |010b: const/16 v1, #int 13 // #d │ │ +00eca2: 0800 1100 |010d: move-object/from16 v0, v17 │ │ +00eca6: 6e20 7c01 1000 |010f: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00ecac: 2900 1bff |0112: goto/16 002d // -00e5 │ │ +00ecb0: 1209 |0114: const/4 v9, #int 0 // #0 │ │ +00ecb2: 0806 1100 |0115: move-object/from16 v6, v17 │ │ +00ecb6: 0727 |0117: move-object v7, v2 │ │ +00ecb8: 0738 |0118: move-object v8, v3 │ │ +00ecba: 074a |0119: move-object v10, v4 │ │ +00ecbc: 075b |011a: move-object v11, v5 │ │ +00ecbe: 7606 7601 0600 |011b: invoke-direct/range {v6, v7, v8, v9, v10, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.saveSecretAndRefreshUserList:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@0176 │ │ +00ecc4: 2900 0fff |011e: goto/16 002d // -00f1 │ │ + catches : 1 │ │ + 0x0068 - 0x006f │ │ + Ljava/lang/NumberFormatException; -> 0x0071 │ │ + positions : │ │ + 0x0000 line=511 │ │ + 0x0008 line=512 │ │ + 0x000c line=513 │ │ + 0x0010 line=519 │ │ + 0x001a line=520 │ │ + 0x0027 line=521 │ │ + 0x002d line=582 │ │ + 0x002e line=525 │ │ + 0x0036 line=526 │ │ + 0x0038 line=527 │ │ + 0x003a line=548 │ │ + 0x003e line=549 │ │ + 0x0040 line=550 │ │ + 0x004d line=551 │ │ + 0x0054 line=528 │ │ + 0x005c line=529 │ │ + 0x005e line=530 │ │ + 0x0066 line=531 │ │ + 0x0068 line=533 │ │ + 0x0071 line=534 │ │ + 0x0072 line=535 │ │ + 0x007f line=536 │ │ + 0x0086 line=540 │ │ + 0x0089 line=543 │ │ + 0x0096 line=544 │ │ + 0x009d line=555 │ │ + 0x00a5 line=557 │ │ + 0x00ad line=558 │ │ + 0x00ba line=560 │ │ + 0x00c2 line=564 │ │ + 0x00c8 line=565 │ │ + 0x00d5 line=566 │ │ + 0x00dd line=570 │ │ + 0x00ef line=571 │ │ + 0x00f9 line=572 │ │ + 0x00ff line=576 │ │ + 0x0101 line=577 │ │ + 0x010b line=578 │ │ + 0x0114 line=580 │ │ + locals : │ │ + 0x003e - 0x0054 reg=2 user Ljava/lang/String; │ │ + 0x0038 - 0x0054 reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x003a - 0x0054 reg=5 counter Ljava/lang/Integer; │ │ + 0x0070 - 0x0071 reg=5 counter Ljava/lang/Integer; │ │ + 0x0072 - 0x0086 reg=14 e Ljava/lang/NumberFormatException; │ │ + 0x005e - 0x0089 reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x0088 - 0x0089 reg=5 counter Ljava/lang/Integer; │ │ + 0x0066 - 0x0089 reg=13 counterParameter Ljava/lang/String; │ │ + 0x009d - 0x0120 reg=2 user Ljava/lang/String; │ │ + 0x00a5 - 0x0120 reg=3 secret Ljava/lang/String; │ │ + 0x009d - 0x0120 reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x009d - 0x0120 reg=5 counter Ljava/lang/Integer; │ │ + 0x0010 - 0x0120 reg=12 authority Ljava/lang/String; │ │ + 0x000c - 0x0120 reg=15 path Ljava/lang/String; │ │ + 0x0008 - 0x0120 reg=16 scheme Ljava/lang/String; │ │ + 0x0000 - 0x0120 reg=17 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0120 reg=18 uri Landroid/net/Uri; │ │ + 0x0000 - 0x0120 reg=19 confirmBeforeSave Z │ │ + │ │ + #28 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'refreshVerificationCodes' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 9 16-bit code units │ │ +00ecd8: |[00ecd8] com.google.android.apps.authenticator.AuthenticatorActivity.refreshVerificationCodes:()V │ │ +00ece8: 6e10 7001 0200 |0000: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:()V // method@0170 │ │ +00ecee: 1900 f03f |0003: const-wide/high16 v0, #long 4607182418800017408 // #3ff0 │ │ +00ecf2: 7030 7a01 0201 |0005: invoke-direct {v2, v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setTotpCountdownPhase:(D)V // method@017a │ │ +00ecf8: 0e00 |0008: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=396 │ │ + 0x0003 line=397 │ │ + 0x0008 line=398 │ │ + locals : │ │ + 0x0000 - 0x0009 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #29 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'saveSecret' │ │ + type : '(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)Z' │ │ + access : 0x0008 (STATIC) │ │ + code - │ │ + registers : 13 │ │ + ins : 6 │ │ + outs : 6 │ │ + insns size : 69 16-bit code units │ │ +00ecfc: |[00ecfc] com.google.android.apps.authenticator.AuthenticatorActivity.saveSecret:(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)Z │ │ +00ed0c: 1216 |0000: const/4 v6, #int 1 // #1 │ │ +00ed0e: 390a 0300 |0001: if-nez v10, 0004 // +0003 │ │ +00ed12: 078a |0003: move-object v10, v8 │ │ +00ed14: 3809 2e00 |0004: if-eqz v9, 0032 // +002e │ │ +00ed18: 7100 6402 0000 |0006: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ +00ed1e: 0c00 |0009: move-result-object v0 │ │ +00ed20: 0781 |000a: move-object v1, v8 │ │ +00ed22: 0792 |000b: move-object v2, v9 │ │ +00ed24: 07a3 |000c: move-object v3, v10 │ │ +00ed26: 07b4 |000d: move-object v4, v11 │ │ +00ed28: 07c5 |000e: move-object v5, v12 │ │ +00ed2a: 7406 f300 0000 |000f: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AccountDb;.update:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V // method@00f3 │ │ +00ed30: 7100 6802 0000 |0012: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00ed36: 0c01 |0015: move-result-object v1 │ │ +00ed38: 7230 c801 7108 |0016: invoke-interface {v1, v7, v8}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityAccountSaved:(Landroid/content/Context;Ljava/lang/String;)V // method@01c8 │ │ +00ed3e: 1401 1600 067f |0019: const v1, #float 1.78117e+38 // #7f060016 │ │ +00ed44: 7130 d000 1706 |001c: invoke-static {v7, v1, v6}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;II)Landroid/widget/Toast; // method@00d0 │ │ +00ed4a: 0c01 |001f: move-result-object v1 │ │ +00ed4c: 6e10 d100 0100 |0020: invoke-virtual {v1}, Landroid/widget/Toast;.show:()V // method@00d1 │ │ +00ed52: 1a01 de06 |0023: const-string v1, "vibrator" // string@06de │ │ +00ed56: 6e20 2800 1700 |0025: invoke-virtual {v7, v1}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0028 │ │ +00ed5c: 0c01 |0028: move-result-object v1 │ │ +00ed5e: 1f01 3800 |0029: check-cast v1, Landroid/os/Vibrator; // type@0038 │ │ +00ed62: 1602 c800 |002b: const-wide/16 v2, #int 200 // #c8 │ │ +00ed66: 6e30 8c00 2103 |002d: invoke-virtual {v1, v2, v3}, Landroid/os/Vibrator;.vibrate:(J)V // method@008c │ │ +00ed6c: 0161 |0030: move v1, v6 │ │ +00ed6e: 0f01 |0031: return v1 │ │ +00ed70: 1a01 4300 |0032: const-string v1, "AuthenticatorActivity" // string@0043 │ │ +00ed74: 1a02 9102 |0034: const-string v2, "Trying to save an empty secret key" // string@0291 │ │ +00ed78: 7120 9800 2100 |0036: invoke-static {v1, v2}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;)I // method@0098 │ │ +00ed7e: 1401 1800 067f |0039: const v1, #float 1.78117e+38 // #7f060018 │ │ +00ed84: 7130 d000 1706 |003c: invoke-static {v7, v1, v6}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;II)Landroid/widget/Toast; // method@00d0 │ │ +00ed8a: 0c01 |003f: move-result-object v1 │ │ +00ed8c: 6e10 d100 0100 |0040: invoke-virtual {v1}, Landroid/widget/Toast;.show:()V // method@00d1 │ │ +00ed92: 1201 |0043: const/4 v1, #int 0 // #0 │ │ +00ed94: 28ed |0044: goto 0031 // -0013 │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=625 │ │ + 0x0003 line=626 │ │ + 0x0004 line=628 │ │ + 0x0006 line=629 │ │ + 0x000f line=630 │ │ + 0x0012 line=631 │ │ + 0x0019 line=636 │ │ + 0x0023 line=637 │ │ + 0x002d line=638 │ │ + 0x0031 line=643 │ │ + 0x0032 line=641 │ │ + 0x0039 line=642 │ │ + 0x0043 line=643 │ │ + locals : │ │ + 0x000a - 0x0031 reg=0 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ + 0x0000 - 0x0045 reg=7 context Landroid/content/Context; │ │ + 0x0000 - 0x0045 reg=8 user Ljava/lang/String; │ │ + 0x0000 - 0x0045 reg=9 secret Ljava/lang/String; │ │ + 0x0000 - 0x0045 reg=10 originalUser Ljava/lang/String; │ │ + 0x0000 - 0x0045 reg=11 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x0000 - 0x0045 reg=12 counter Ljava/lang/Integer; │ │ + │ │ + #30 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'saveSecretAndRefreshUserList' │ │ + type : '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 7 │ │ + ins : 6 │ │ + outs : 6 │ │ + insns size : 11 16-bit code units │ │ +00ed98: |[00ed98] com.google.android.apps.authenticator.AuthenticatorActivity.saveSecretAndRefreshUserList:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ +00eda8: 7706 7501 0100 |0000: invoke-static/range {v1, v2, v3, v4, v5, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.saveSecret:(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)Z // method@0175 │ │ +00edae: 0a00 |0003: move-result v0 │ │ +00edb0: 3800 0600 |0004: if-eqz v0, 000a // +0006 │ │ +00edb4: 1210 |0006: const/4 v0, #int 1 // #1 │ │ +00edb6: 6e20 7101 0100 |0007: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:(Z)V // method@0171 │ │ +00edbc: 0e00 |000a: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=607 │ │ + 0x0006 line=608 │ │ + 0x000a line=610 │ │ + locals : │ │ + 0x0000 - 0x000b reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x000b reg=2 user Ljava/lang/String; │ │ + 0x0000 - 0x000b reg=3 secret Ljava/lang/String; │ │ + 0x0000 - 0x000b reg=4 originalUser Ljava/lang/String; │ │ + 0x0000 - 0x000b reg=5 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x0000 - 0x000b reg=6 counter Ljava/lang/Integer; │ │ + │ │ + #31 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'scanBarcode' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 6 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 31 16-bit code units │ │ +00edc0: |[00edc0] com.google.android.apps.authenticator.AuthenticatorActivity.scanBarcode:()V │ │ +00edd0: 1204 |0000: const/4 v4, #int 0 // #0 │ │ +00edd2: 2201 1700 |0001: new-instance v1, Landroid/content/Intent; // type@0017 │ │ +00edd6: 1a02 7c03 |0003: const-string v2, "com.google.zxing.client.android.SCAN" // string@037c │ │ +00edda: 7020 3000 2100 |0005: invoke-direct {v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0030 │ │ +00ede0: 1a02 5702 |0008: const-string v2, "SCAN_MODE" // string@0257 │ │ +00ede4: 1a03 4e02 |000a: const-string v3, "QR_CODE_MODE" // string@024e │ │ +00ede8: 6e30 3900 2103 |000c: invoke-virtual {v1, v2, v3}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@0039 │ │ +00edee: 1a02 5602 |000f: const-string v2, "SAVE_HISTORY" // string@0256 │ │ +00edf2: 6e30 3a00 2104 |0011: invoke-virtual {v1, v2, v4}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Z)Landroid/content/Intent; // method@003a │ │ +00edf8: 1302 697a |0014: const/16 v2, #int 31337 // #7a69 │ │ +00edfc: 6e30 7f01 1502 |0016: invoke-virtual {v5, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@017f │ │ +00ee02: 0e00 |0019: return-void │ │ +00ee04: 0d00 |001a: move-exception v0 │ │ +00ee06: 6e20 7c01 4500 |001b: invoke-virtual {v5, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showDialog:(I)V // method@017c │ │ +00ee0c: 28fb |001e: goto 0019 // -0005 │ │ + catches : 1 │ │ + 0x0016 - 0x0019 │ │ + Landroid/content/ActivityNotFoundException; -> 0x001a │ │ + positions : │ │ + 0x0001 line=803 │ │ + 0x0008 line=804 │ │ + 0x000f line=805 │ │ + 0x0014 line=807 │ │ + 0x0019 line=811 │ │ + 0x001a line=808 │ │ + 0x001b line=809 │ │ + locals : │ │ + 0x001b - 0x001f reg=0 error Landroid/content/ActivityNotFoundException; │ │ + 0x0008 - 0x001f reg=1 intentScan Landroid/content/Intent; │ │ + 0x0000 - 0x001f reg=5 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #32 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'setTotpCountdownPhase' │ │ + type : '(D)V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 1 │ │ + insns size : 6 16-bit code units │ │ +00ee1c: |[00ee1c] com.google.android.apps.authenticator.AuthenticatorActivity.setTotpCountdownPhase:(D)V │ │ +00ee2c: 5a12 5f00 |0000: iput-wide v2, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownPhase:D // field@005f │ │ +00ee30: 7010 8201 0100 |0002: invoke-direct {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.updateCountdownIndicators:()V // method@0182 │ │ +00ee36: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=386 │ │ + 0x0002 line=387 │ │ + 0x0005 line=388 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0006 reg=2 phase D │ │ + │ │ + #33 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'setTotpCountdownPhaseFromTimeTillNextValue' │ │ + type : '(J)V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 8 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 17 16-bit code units │ │ +00ee38: |[00ee38] com.google.android.apps.authenticator.AuthenticatorActivity.setTotpCountdownPhaseFromTimeTillNextValue:(J)V │ │ +00ee48: 8660 |0000: long-to-double v0, v6 │ │ +00ee4a: 5452 6100 |0001: iget-object v2, v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0061 │ │ +00ee4e: 6e10 1402 0200 |0003: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/TotpCounter;.getTimeStep:()J // method@0214 │ │ +00ee54: 0b02 |0006: move-result-wide v2 │ │ +00ee56: 7120 1e02 3200 |0007: invoke-static {v2, v3}, Lcom/google/android/apps/authenticator/Utilities;.secondsToMillis:(J)J // method@021e │ │ +00ee5c: 0b02 |000a: move-result-wide v2 │ │ +00ee5e: 8622 |000b: long-to-double v2, v2 │ │ +00ee60: ce20 |000c: div-double/2addr v0, v2 │ │ +00ee62: 7030 7a01 0501 |000d: invoke-direct {v5, v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setTotpCountdownPhase:(D)V // method@017a │ │ +00ee68: 0e00 |0010: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=391 │ │ + 0x0003 line=392 │ │ + 0x000d line=391 │ │ + 0x0010 line=393 │ │ + locals : │ │ + 0x0000 - 0x0011 reg=5 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0011 reg=6 millisRemaining J │ │ + │ │ + #34 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'showSettings' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 14 16-bit code units │ │ +00ee6c: |[00ee6c] com.google.android.apps.authenticator.AuthenticatorActivity.showSettings:()V │ │ +00ee7c: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ +00ee80: 7010 2e00 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@002e │ │ +00ee86: 1c01 8f00 |0005: const-class v1, Lcom/google/android/apps/authenticator/SettingsActivity; // type@008f │ │ +00ee8a: 6e30 3b00 2001 |0007: invoke-virtual {v0, v2, v1}, Landroid/content/Intent;.setClass:(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent; // method@003b │ │ +00ee90: 6e20 7e01 0200 |000a: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ +00ee96: 0e00 |000d: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=819 │ │ + 0x0005 line=820 │ │ + 0x000a line=821 │ │ + 0x000d line=822 │ │ + locals : │ │ + 0x0005 - 0x000e reg=0 intent Landroid/content/Intent; │ │ + 0x0000 - 0x000e reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #35 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'stopTotpCountdownTask' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 13 16-bit code units │ │ +00ee98: |[00ee98] com.google.android.apps.authenticator.AuthenticatorActivity.stopTotpCountdownTask:()V │ │ +00eea8: 5410 6000 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ +00eeac: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ +00eeb0: 5410 6000 |0004: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ +00eeb4: 6e10 0f02 0000 |0006: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.stop:()V // method@020f │ │ +00eeba: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +00eebc: 5b10 6000 |000a: iput-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ +00eec0: 0e00 |000c: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=374 │ │ + 0x0004 line=375 │ │ + 0x0009 line=376 │ │ + 0x000c line=378 │ │ + locals : │ │ + 0x0000 - 0x000d reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #36 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'updateCodesAndStartTotpCountdownTask' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 7 │ │ + ins : 1 │ │ + outs : 5 │ │ + insns size : 32 16-bit code units │ │ +00eec4: |[00eec4] com.google.android.apps.authenticator.AuthenticatorActivity.updateCodesAndStartTotpCountdownTask:()V │ │ +00eed4: 7010 8001 0600 |0000: invoke-direct {v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.stopTotpCountdownTask:()V // method@0180 │ │ +00eeda: 2200 9200 |0003: new-instance v0, Lcom/google/android/apps/authenticator/TotpCountdownTask; // type@0092 │ │ +00eede: 5461 6100 |0005: iget-object v1, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0061 │ │ +00eee2: 5462 5e00 |0007: iget-object v2, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@005e │ │ +00eee6: 1604 6400 |0009: const-wide/16 v4, #int 100 // #64 │ │ +00eeea: 7055 0502 1042 |000b: invoke-direct {v0, v1, v2, v4, v5}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.:(Lcom/google/android/apps/authenticator/TotpCounter;Lcom/google/android/apps/authenticator/TotpClock;J)V // method@0205 │ │ +00eef0: 5b60 6000 |000e: iput-object v0, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ +00eef4: 5460 6000 |0010: iget-object v0, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ +00eef8: 2201 6d00 |0012: new-instance v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4; // type@006d │ │ +00eefc: 7020 1201 6100 |0014: invoke-direct {v1, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0112 │ │ +00ef02: 6e20 0d02 1000 |0017: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.setListener:(Lcom/google/android/apps/authenticator/TotpCountdownTask$Listener;)V // method@020d │ │ +00ef08: 5460 6000 |001a: iget-object v0, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; // field@0060 │ │ +00ef0c: 6e10 0e02 0000 |001c: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/TotpCountdownTask;.startAndNotifyListener:()V // method@020e │ │ +00ef12: 0e00 |001f: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=346 │ │ + 0x0003 line=348 │ │ + 0x0010 line=350 │ │ + 0x001a line=370 │ │ + 0x001f line=371 │ │ + locals : │ │ + 0x0000 - 0x0020 reg=6 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #37 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'updateCountdownIndicators' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 7 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 35 16-bit code units │ │ +00ef14: |[00ef14] com.google.android.apps.authenticator.AuthenticatorActivity.updateCountdownIndicators:()V │ │ +00ef24: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +00ef26: 5464 6300 |0001: iget-object v4, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00ef2a: 6e10 c300 0400 |0003: invoke-virtual {v4}, Landroid/widget/ListView;.getChildCount:()I // method@00c3 │ │ +00ef30: 0a02 |0006: move-result v2 │ │ +00ef32: 3520 1b00 |0007: if-ge v0, v2, 0022 // +001b │ │ +00ef36: 5464 6300 |0009: iget-object v4, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00ef3a: 6e20 c200 0400 |000b: invoke-virtual {v4, v0}, Landroid/widget/ListView;.getChildAt:(I)Landroid/view/View; // method@00c2 │ │ +00ef40: 0c03 |000e: move-result-object v3 │ │ +00ef42: 1404 1800 0a7f |000f: const v4, #float 1.83434e+38 // #7f0a0018 │ │ +00ef48: 6e20 a500 4300 |0012: invoke-virtual {v3, v4}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ +00ef4e: 0c01 |0015: move-result-object v1 │ │ +00ef50: 1f01 7e00 |0016: check-cast v1, Lcom/google/android/apps/authenticator/CountdownIndicator; // type@007e │ │ +00ef54: 3801 0700 |0018: if-eqz v1, 001f // +0007 │ │ +00ef58: 5364 5f00 |001a: iget-wide v4, v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCountdownPhase:D // field@005f │ │ +00ef5c: 6e30 9f01 4105 |001c: invoke-virtual {v1, v4, v5}, Lcom/google/android/apps/authenticator/CountdownIndicator;.setPhase:(D)V // method@019f │ │ +00ef62: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +00ef66: 28e6 |0021: goto 0007 // -001a │ │ +00ef68: 0e00 |0022: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=401 │ │ + 0x0009 line=402 │ │ + 0x000f line=403 │ │ + 0x0012 line=404 │ │ + 0x0018 line=405 │ │ + 0x001a line=406 │ │ + 0x001f line=401 │ │ + 0x0022 line=409 │ │ + locals : │ │ + 0x0018 - 0x0022 reg=1 indicator Lcom/google/android/apps/authenticator/CountdownIndicator; │ │ + 0x000f - 0x0022 reg=3 listEntry Landroid/view/View; │ │ + 0x0001 - 0x0023 reg=0 i I │ │ + 0x0007 - 0x0023 reg=2 len I │ │ + 0x0000 - 0x0023 reg=6 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #38 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'validateAndGetUserInPath' │ │ + type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ + access : 0x000a (PRIVATE STATIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 30 16-bit code units │ │ +00ef6c: |[00ef6c] com.google.android.apps.authenticator.AuthenticatorActivity.validateAndGetUserInPath:(Ljava/lang/String;)Ljava/lang/String; │ │ +00ef7c: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +00ef7e: 3803 0a00 |0001: if-eqz v3, 000b // +000a │ │ +00ef82: 1a02 1c00 |0003: const-string v2, "/" // string@001c │ │ +00ef86: 6e20 4b03 2300 |0005: invoke-virtual {v3, v2}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@034b │ │ +00ef8c: 0a02 |0008: move-result v2 │ │ +00ef8e: 3902 0400 |0009: if-nez v2, 000d // +0004 │ │ +00ef92: 0710 |000b: move-object v0, v1 │ │ +00ef94: 1100 |000c: return-object v0 │ │ +00ef96: 1212 |000d: const/4 v2, #int 1 // #1 │ │ +00ef98: 6e20 4c03 2300 |000e: invoke-virtual {v3, v2}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@034c │ │ +00ef9e: 0c02 |0011: move-result-object v2 │ │ +00efa0: 6e10 5103 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@0351 │ │ +00efa6: 0c00 |0015: move-result-object v0 │ │ +00efa8: 6e10 4703 0000 |0016: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0347 │ │ +00efae: 0a02 |0019: move-result v2 │ │ +00efb0: 3902 f2ff |001a: if-nez v2, 000c // -000e │ │ +00efb4: 0710 |001c: move-object v0, v1 │ │ +00efb6: 28ef |001d: goto 000c // -0011 │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=585 │ │ + 0x000c line=593 │ │ + 0x000d line=589 │ │ + 0x0016 line=590 │ │ + 0x001d line=591 │ │ + locals : │ │ + 0x0016 - 0x001e reg=0 user Ljava/lang/String; │ │ + 0x0000 - 0x001e reg=3 path Ljava/lang/String; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'computeAndDisplayPin' │ │ + type : '(Ljava/lang/String;IZ)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 8 │ │ + ins : 4 │ │ + outs : 2 │ │ + insns size : 75 16-bit code units │ │ +00efb8: |[00efb8] com.google.android.apps.authenticator.AuthenticatorActivity.computeAndDisplayPin:(Ljava/lang/String;IZ)V │ │ +00efc8: 1213 |0000: const/4 v3, #int 1 // #1 │ │ +00efca: 5442 6400 |0001: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00efce: 4602 0206 |0003: aget-object v2, v2, v6 │ │ +00efd2: 3802 3000 |0005: if-eqz v2, 0035 // +0030 │ │ +00efd6: 5442 6400 |0007: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00efda: 4600 0206 |0009: aget-object v0, v2, v6 │ │ +00efde: 5442 5500 |000b: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ +00efe2: 6e20 ea00 5200 |000d: invoke-virtual {v2, v5}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ +00efe8: 0c01 |0010: move-result-object v1 │ │ +00efea: 6202 0900 |0011: sget-object v2, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +00efee: 3321 3600 |0013: if-ne v1, v2, 0049 // +0036 │ │ +00eff2: 0132 |0015: move v2, v3 │ │ +00eff4: 7120 2b01 2000 |0016: invoke-static {v0, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$002:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012b │ │ +00effa: 7120 3101 5000 |0019: invoke-static {v0, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$902:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; // method@0131 │ │ +00f000: 7110 2a01 0000 |001c: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z // method@012a │ │ +00f006: 0a02 |001f: move-result v2 │ │ +00f008: 3802 0400 |0020: if-eqz v2, 0024 // +0004 │ │ +00f00c: 3807 0e00 |0022: if-eqz v7, 0030 // +000e │ │ +00f010: 5442 5b00 |0024: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@005b │ │ +00f014: 7220 da01 5200 |0026: invoke-interface {v2, v5}, Lcom/google/android/apps/authenticator/OtpSource;.getNextCode:(Ljava/lang/String;)Ljava/lang/String; // method@01da │ │ +00f01a: 0c02 |0029: move-result-object v2 │ │ +00f01c: 7120 2f01 2000 |002a: invoke-static {v0, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; // method@012f │ │ +00f022: 7120 2d01 3000 |002d: invoke-static {v0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ +00f028: 5442 6400 |0030: iget-object v2, v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00f02c: 4d00 0206 |0032: aput-object v0, v2, v6 │ │ +00f030: 0e00 |0034: return-void │ │ +00f032: 2200 7600 |0035: new-instance v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0076 │ │ +00f036: 1202 |0037: const/4 v2, #int 0 // #0 │ │ +00f038: 7020 2901 2000 |0038: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;)V // method@0129 │ │ +00f03e: 1402 3600 067f |003b: const v2, #float 1.78118e+38 // #7f060036 │ │ +00f044: 6e20 5801 2400 |003e: invoke-virtual {v4, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00f04a: 0c02 |0041: move-result-object v2 │ │ +00f04c: 7120 2f01 2000 |0042: invoke-static {v0, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$802:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Ljava/lang/String;)Ljava/lang/String; // method@012f │ │ +00f052: 7120 2d01 3000 |0045: invoke-static {v0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ +00f058: 28c3 |0048: goto 000b // -003d │ │ +00f05a: 1202 |0049: const/4 v2, #int 0 // #0 │ │ +00f05c: 28cc |004a: goto 0016 // -0034 │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=474 │ │ + 0x0007 line=475 │ │ + 0x000b line=482 │ │ + 0x0011 line=483 │ │ + 0x0019 line=485 │ │ + 0x001c line=487 │ │ + 0x0024 line=492 │ │ + 0x002d line=493 │ │ + 0x0030 line=496 │ │ + 0x0034 line=497 │ │ + 0x0035 line=477 │ │ + 0x003b line=478 │ │ + 0x0045 line=479 │ │ + 0x0049 line=483 │ │ + locals : │ │ + 0x000b - 0x0035 reg=0 currentPin Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ + 0x0011 - 0x0035 reg=1 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x003b - 0x004b reg=0 currentPin Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ + 0x0049 - 0x004b reg=1 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x0000 - 0x004b reg=4 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x004b reg=5 user Ljava/lang/String; │ │ + 0x0000 - 0x004b reg=6 position I │ │ + 0x0000 - 0x004b reg=7 computeHotp Z │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onActivityResult' │ │ + type : '(IILandroid/content/Intent;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 8 │ │ + ins : 4 │ │ + outs : 3 │ │ + insns size : 40 16-bit code units │ │ +00f060: |[00f060] com.google.android.apps.authenticator.AuthenticatorActivity.onActivityResult:(IILandroid/content/Intent;)V │ │ +00f070: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +00f072: 1502 067f |0001: const/high16 v2, #int 2131099648 // #7f06 │ │ +00f076: 6e20 5801 2400 |0003: invoke-virtual {v4, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00f07c: 0c02 |0006: move-result-object v2 │ │ +00f07e: 1a03 4b00 |0007: const-string v3, "AuthenticatorActivity: onActivityResult" // string@004b │ │ +00f082: 7120 9900 3200 |0009: invoke-static {v2, v3}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ +00f088: 1302 697a |000c: const/16 v2, #int 31337 // #7a69 │ │ +00f08c: 3325 1700 |000e: if-ne v5, v2, 0025 // +0017 │ │ +00f090: 12f2 |0010: const/4 v2, #int -1 // #ff │ │ +00f092: 3326 1400 |0011: if-ne v6, v2, 0025 // +0014 │ │ +00f096: 3807 1300 |0013: if-eqz v7, 0026 // +0013 │ │ +00f09a: 1a02 5902 |0015: const-string v2, "SCAN_RESULT" // string@0259 │ │ +00f09e: 6e20 3700 2700 |0017: invoke-virtual {v7, v2}, Landroid/content/Intent;.getStringExtra:(Ljava/lang/String;)Ljava/lang/String; // method@0037 │ │ +00f0a4: 0c00 |001a: move-result-object v0 │ │ +00f0a6: 3800 0600 |001b: if-eqz v0, 0021 // +0006 │ │ +00f0aa: 7110 6c00 0000 |001d: invoke-static {v0}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006c │ │ +00f0b0: 0c01 |0020: move-result-object v1 │ │ +00f0b2: 1202 |0021: const/4 v2, #int 0 // #0 │ │ +00f0b4: 7030 5e01 1402 |0022: invoke-direct {v4, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.interpretScanResult:(Landroid/net/Uri;Z)V // method@015e │ │ +00f0ba: 0e00 |0025: return-void │ │ +00f0bc: 0710 |0026: move-object v0, v1 │ │ +00f0be: 28f4 |0027: goto 001b // -000c │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=785 │ │ + 0x000c line=786 │ │ + 0x0013 line=788 │ │ + 0x001b line=789 │ │ + 0x0021 line=790 │ │ + 0x0025 line=792 │ │ + 0x0027 line=788 │ │ + locals : │ │ + 0x001b - 0x0025 reg=0 scanResult Ljava/lang/String; │ │ + 0x0021 - 0x0025 reg=1 uri Landroid/net/Uri; │ │ + 0x0000 - 0x0028 reg=4 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0028 reg=5 requestCode I │ │ + 0x0000 - 0x0028 reg=6 resultCode I │ │ + 0x0000 - 0x0028 reg=7 intent Landroid/content/Intent; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onContextItemSelected' │ │ + type : '(Landroid/view/MenuItem;)Z' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 20 │ │ + ins : 2 │ │ + outs : 4 │ │ + insns size : 372 16-bit code units │ │ +00f0c0: |[00f0c0] com.google.android.apps.authenticator.AuthenticatorActivity.onContextItemSelected:(Landroid/view/MenuItem;)Z │ │ +00f0d0: 7801 a300 1300 |0000: invoke-interface/range {v19}, Landroid/view/MenuItem;.getMenuInfo:()Landroid/view/ContextMenu$ContextMenuInfo; // method@00a3 │ │ +00f0d6: 0c05 |0003: move-result-object v5 │ │ +00f0d8: 1f05 5300 |0004: check-cast v5, Landroid/widget/AdapterView$AdapterContextMenuInfo; // type@0053 │ │ +00f0dc: 535e 0600 |0006: iget-wide v14, v5, Landroid/widget/AdapterView$AdapterContextMenuInfo;.id:J // field@0006 │ │ +00f0e0: 0800 1200 |0008: move-object/from16 v0, v18 │ │ +00f0e4: 7030 5c01 e00f |000a: invoke-direct {v0, v14, v15}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.idToEmail:(J)Ljava/lang/String; // method@015c │ │ +00f0ea: 0c0b |000d: move-result-object v11 │ │ +00f0ec: 7801 a200 1300 |000e: invoke-interface/range {v19}, Landroid/view/MenuItem;.getItemId:()I // method@00a2 │ │ +00f0f2: 0a0d |0011: move-result v13 │ │ +00f0f4: 2b0d 5601 0000 |0012: packed-switch v13, 00000168 // +00000156 │ │ +00f0fa: 7502 7f02 1200 |0015: invoke-super/range {v18, v19}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onContextItemSelected:(Landroid/view/MenuItem;)Z // method@027f │ │ +00f100: 0a0d |0018: move-result v13 │ │ +00f102: 0f0d |0019: return v13 │ │ +00f104: 1a0d 7003 |001a: const-string v13, "clipboard" // string@0370 │ │ +00f108: 0800 1200 |001c: move-object/from16 v0, v18 │ │ +00f10c: 6e20 5a01 d000 |001e: invoke-virtual {v0, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@015a │ │ +00f112: 0c02 |0021: move-result-object v2 │ │ +00f114: 1f02 3d00 |0022: check-cast v2, Landroid/text/ClipboardManager; // type@003d │ │ +00f118: 0800 1200 |0024: move-object/from16 v0, v18 │ │ +00f11c: 540d 6400 |0026: iget-object v13, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00f120: 535e 0600 |0028: iget-wide v14, v5, Landroid/widget/AdapterView$AdapterContextMenuInfo;.id:J // field@0006 │ │ +00f124: 84ee |002a: long-to-int v14, v14 │ │ +00f126: 460d 0d0e |002b: aget-object v13, v13, v14 │ │ +00f12a: 7110 2e01 0d00 |002d: invoke-static {v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$800:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; // method@012e │ │ +00f130: 0c0d |0030: move-result-object v13 │ │ +00f132: 6e20 9400 d200 |0031: invoke-virtual {v2, v13}, Landroid/text/ClipboardManager;.setText:(Ljava/lang/CharSequence;)V // method@0094 │ │ +00f138: 121d |0034: const/4 v13, #int 1 // #1 │ │ +00f13a: 28e4 |0035: goto 0019 // -001c │ │ +00f13c: 2206 1700 |0036: new-instance v6, Landroid/content/Intent; // type@0017 │ │ +00f140: 1a0d 1603 |0038: const-string v13, "android.intent.action.VIEW" // string@0316 │ │ +00f144: 7020 3000 d600 |003a: invoke-direct {v6, v13}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0030 │ │ +00f14a: 1c0d 7d00 |003d: const-class v13, Lcom/google/android/apps/authenticator/CheckCodeActivity; // type@007d │ │ +00f14e: 0800 1200 |003f: move-object/from16 v0, v18 │ │ +00f152: 6e30 3b00 060d |0041: invoke-virtual {v6, v0, v13}, Landroid/content/Intent;.setClass:(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent; // method@003b │ │ +00f158: 1a0d bc06 |0044: const-string v13, "user" // string@06bc │ │ +00f15c: 6e30 3900 d60b |0046: invoke-virtual {v6, v13, v11}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@0039 │ │ +00f162: 0800 1200 |0049: move-object/from16 v0, v18 │ │ +00f166: 6e20 7e01 6000 |004b: invoke-virtual {v0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ +00f16c: 121d |004e: const/4 v13, #int 1 // #1 │ │ +00f16e: 28ca |004f: goto 0019 // -0036 │ │ +00f170: 0803 1200 |0050: move-object/from16 v3, v18 │ │ +00f174: 7401 5401 1200 |0052: invoke-virtual/range {v18}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLayoutInflater:()Landroid/view/LayoutInflater; // method@0154 │ │ +00f17a: 0c0e |0055: move-result-object v14 │ │ +00f17c: 140f 0800 037f |0056: const v15, #float 1.74129e+38 // #7f030008 │ │ +00f182: 140d 1200 0a7f |0059: const v13, #float 1.83434e+38 // #7f0a0012 │ │ +00f188: 0800 1200 |005c: move-object/from16 v0, v18 │ │ +00f18c: 6e20 5001 d000 |005e: invoke-virtual {v0, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ +00f192: 0c0d |0061: move-result-object v13 │ │ +00f194: 1f0d 4f00 |0062: check-cast v13, Landroid/view/ViewGroup; // type@004f │ │ +00f198: 6e30 9f00 fe0d |0064: invoke-virtual {v14, v15, v13}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@009f │ │ +00f19e: 0c04 |0067: move-result-object v4 │ │ +00f1a0: 140d 1300 0a7f |0068: const v13, #float 1.83434e+38 // #7f0a0013 │ │ +00f1a6: 6e20 a500 d400 |006b: invoke-virtual {v4, v13}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ +00f1ac: 0c07 |006e: move-result-object v7 │ │ +00f1ae: 1f07 5800 |006f: check-cast v7, Landroid/widget/EditText; // type@0058 │ │ +00f1b2: 6e20 bf00 b700 |0071: invoke-virtual {v7, v11}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00bf │ │ +00f1b8: 220d 0900 |0074: new-instance v13, Landroid/app/AlertDialog$Builder; // type@0009 │ │ +00f1bc: 0800 1200 |0076: move-object/from16 v0, v18 │ │ +00f1c0: 7020 0700 0d00 |0078: invoke-direct {v13, v0}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ +00f1c6: 140e 3200 067f |007b: const v14, #float 1.78118e+38 // #7f060032 │ │ +00f1cc: 0800 1200 |007e: move-object/from16 v0, v18 │ │ +00f1d0: 6e20 5801 e000 |0080: invoke-virtual {v0, v14}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00f1d6: 0c0e |0083: move-result-object v14 │ │ +00f1d8: 121f |0084: const/4 v15, #int 1 // #1 │ │ +00f1da: 23ff 3601 |0085: new-array v15, v15, [Ljava/lang/Object; // type@0136 │ │ +00f1de: 1310 0000 |0087: const/16 v16, #int 0 // #0 │ │ +00f1e2: 4d0b 0f10 |0089: aput-object v11, v15, v16 │ │ +00f1e6: 7120 4503 fe00 |008b: invoke-static {v14, v15}, Ljava/lang/String;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; // method@0345 │ │ +00f1ec: 0c0e |008e: move-result-object v14 │ │ +00f1ee: 6e20 1100 ed00 |008f: invoke-virtual {v13, v14}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@0011 │ │ +00f1f4: 0c0d |0092: move-result-object v13 │ │ +00f1f6: 6e20 1200 4d00 |0093: invoke-virtual {v13, v4}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@0012 │ │ +00f1fc: 0c0d |0096: move-result-object v13 │ │ +00f1fe: 140e 2a00 067f |0097: const v14, #float 1.78117e+38 // #7f06002a │ │ +00f204: 0800 1200 |009a: move-object/from16 v0, v18 │ │ +00f208: 7040 5601 307b |009c: invoke-direct {v0, v3, v11, v7}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getRenameClickListener:(Landroid/content/Context;Ljava/lang/String;Landroid/widget/EditText;)Landroid/content/DialogInterface$OnClickListener; // method@0156 │ │ +00f20e: 0c0f |009f: move-result-object v15 │ │ +00f210: 6e30 0f00 ed0f |00a0: invoke-virtual {v13, v14, v15}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ +00f216: 0c0d |00a3: move-result-object v13 │ │ +00f218: 140e 2b00 067f |00a4: const v14, #float 1.78117e+38 // #7f06002b │ │ +00f21e: 120f |00a7: const/4 v15, #int 0 // #0 │ │ +00f220: 6e30 0d00 ed0f |00a8: invoke-virtual {v13, v14, v15}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ +00f226: 0c0d |00ab: move-result-object v13 │ │ +00f228: 6e10 1300 0d00 |00ac: invoke-virtual {v13}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0013 │ │ +00f22e: 121d |00af: const/4 v13, #int 1 // #1 │ │ +00f230: 2900 69ff |00b0: goto/16 0019 // -0097 │ │ +00f234: 7401 5401 1200 |00b2: invoke-virtual/range {v18}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLayoutInflater:()Landroid/view/LayoutInflater; // method@0154 │ │ +00f23a: 0c0d |00b5: move-result-object v13 │ │ +00f23c: 140e 0700 037f |00b6: const v14, #float 1.74129e+38 // #7f030007 │ │ +00f242: 120f |00b9: const/4 v15, #int 0 // #0 │ │ +00f244: 1310 0000 |00ba: const/16 v16, #int 0 // #0 │ │ +00f248: 7404 a000 0d00 |00bc: invoke-virtual/range {v13, v14, v15, v16}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a0 │ │ +00f24e: 0c0a |00bf: move-result-object v10 │ │ +00f250: 140d 1100 0a7f |00c0: const v13, #float 1.83434e+38 // #7f0a0011 │ │ +00f256: 6e20 a500 da00 |00c3: invoke-virtual {v10, v13}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ +00f25c: 0c0c |00c6: move-result-object v12 │ │ +00f25e: 1f0c 5200 |00c7: check-cast v12, Landroid/webkit/WebView; // type@0052 │ │ +00f262: 120d |00c9: const/4 v13, #int 0 // #0 │ │ +00f264: 6e20 b500 dc00 |00ca: invoke-virtual {v12, v13}, Landroid/webkit/WebView;.setBackgroundColor:(I)V // method@00b5 │ │ +00f26a: 121d |00cd: const/4 v13, #int 1 // #1 │ │ +00f26c: 150e 2041 |00ce: const/high16 v14, #int 1092616192 // #4120 │ │ +00f270: 7401 5701 1200 |00d0: invoke-virtual/range {v18}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getResources:()Landroid/content/res/Resources; // method@0157 │ │ +00f276: 0c0f |00d3: move-result-object v15 │ │ +00f278: 6e10 4900 0f00 |00d4: invoke-virtual {v15}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@0049 │ │ +00f27e: 0c0f |00d7: move-result-object v15 │ │ +00f280: 7130 9c00 ed0f |00d8: invoke-static {v13, v14, v15}, Landroid/util/TypedValue;.applyDimension:(IFLandroid/util/DisplayMetrics;)F // method@009c │ │ +00f286: 0a0d |00db: move-result v13 │ │ +00f288: 89de |00dc: float-to-double v14, v13 │ │ +00f28a: 1910 2440 |00dd: const-wide/high16 v16, #long 4621819117588971520 // #4024 │ │ +00f28e: ae08 0e10 |00df: div-double v8, v14, v16 │ │ +00f292: 6e10 b300 0c00 |00e1: invoke-virtual {v12}, Landroid/webkit/WebView;.getSettings:()Landroid/webkit/WebSettings; // method@00b3 │ │ +00f298: 0c0d |00e4: move-result-object v13 │ │ +00f29a: 0800 1200 |00e5: move-object/from16 v0, v18 │ │ +00f29e: 540e 5900 |00e7: iget-object v14, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mEnterPinPrompt:Landroid/widget/TextView; // field@0059 │ │ +00f2a2: 6e10 cc00 0e00 |00e9: invoke-virtual {v14}, Landroid/widget/TextView;.getTextSize:()F // method@00cc │ │ +00f2a8: 0a0e |00ec: move-result v14 │ │ +00f2aa: 89ee |00ed: float-to-double v14, v14 │ │ +00f2ac: ce8e |00ee: div-double/2addr v14, v8 │ │ +00f2ae: 8aee |00ef: double-to-int v14, v14 │ │ +00f2b0: 6e20 b200 ed00 |00f0: invoke-virtual {v13, v14}, Landroid/webkit/WebSettings;.setDefaultFontSize:(I)V // method@00b2 │ │ +00f2b6: 220d f900 |00f3: new-instance v13, Ljava/lang/StringBuilder; // type@00f9 │ │ +00f2ba: 7010 5303 0d00 |00f5: invoke-direct {v13}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +00f2c0: 1a0e 2d00 |00f8: const-string v14, "" // string@002d │ │ +00f2c4: 6e20 5a03 ed00 |00fa: invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00f2ca: 0c0e |00fd: move-result-object v14 │ │ +00f2cc: 0800 1200 |00fe: move-object/from16 v0, v18 │ │ +00f2d0: 540d 5500 |0100: iget-object v13, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ +00f2d4: 6e20 ec00 bd00 |0102: invoke-virtual {v13, v11}, Lcom/google/android/apps/authenticator/AccountDb;.isGoogleAccount:(Ljava/lang/String;)Z // method@00ec │ │ +00f2da: 0a0d |0105: move-result v13 │ │ +00f2dc: 380d 5e00 |0106: if-eqz v13, 0164 // +005e │ │ +00f2e0: 140d 3000 067f |0108: const v13, #float 1.78118e+38 // #7f060030 │ │ +00f2e6: 0800 1200 |010b: move-object/from16 v0, v18 │ │ +00f2ea: 6e20 5801 d000 |010d: invoke-virtual {v0, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00f2f0: 0c0d |0110: move-result-object v13 │ │ +00f2f2: 6e20 5a03 de00 |0111: invoke-virtual {v14, v13}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00f2f8: 0c0d |0114: move-result-object v13 │ │ +00f2fa: 1a0e 2700 |0115: const-string v14, "" // string@0027 │ │ +00f2fe: 6e20 5a03 ed00 |0117: invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +00f304: 0c0d |011a: move-result-object v13 │ │ +00f306: 6e10 5b03 0d00 |011b: invoke-virtual {v13}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +00f30c: 0c0d |011e: move-result-object v13 │ │ +00f30e: 7120 1f02 dc00 |011f: invoke-static {v12, v13}, Lcom/google/android/apps/authenticator/Utilities;.setWebViewHtml:(Landroid/webkit/WebView;Ljava/lang/String;)V // method@021f │ │ +00f314: 220d 0900 |0122: new-instance v13, Landroid/app/AlertDialog$Builder; // type@0009 │ │ +00f318: 0800 1200 |0124: move-object/from16 v0, v18 │ │ +00f31c: 7020 0700 0d00 |0126: invoke-direct {v13, v0}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ +00f322: 140e 2e00 067f |0129: const v14, #float 1.78117e+38 // #7f06002e │ │ +00f328: 121f |012c: const/4 v15, #int 1 // #1 │ │ +00f32a: 23ff 3601 |012d: new-array v15, v15, [Ljava/lang/Object; // type@0136 │ │ +00f32e: 1310 0000 |012f: const/16 v16, #int 0 // #0 │ │ +00f332: 4d0b 0f10 |0131: aput-object v11, v15, v16 │ │ +00f336: 0800 1200 |0133: move-object/from16 v0, v18 │ │ +00f33a: 6e30 5901 e00f |0135: invoke-virtual {v0, v14, v15}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@0159 │ │ +00f340: 0c0e |0138: move-result-object v14 │ │ +00f342: 6e20 1100 ed00 |0139: invoke-virtual {v13, v14}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@0011 │ │ +00f348: 0c0d |013c: move-result-object v13 │ │ +00f34a: 6e20 1200 ad00 |013d: invoke-virtual {v13, v10}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@0012 │ │ +00f350: 0c0d |0140: move-result-object v13 │ │ +00f352: 140e 2700 0801 |0141: const v14, #float 2.49794e-38 // #01080027 │ │ +00f358: 6e20 0a00 ed00 |0144: invoke-virtual {v13, v14}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ +00f35e: 0c0d |0147: move-result-object v13 │ │ +00f360: 140e 2d00 067f |0148: const v14, #float 1.78117e+38 // #7f06002d │ │ +00f366: 220f 6e00 |014b: new-instance v15, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5; // type@006e │ │ +00f36a: 0800 1200 |014d: move-object/from16 v0, v18 │ │ +00f36e: 7030 1501 0f0b |014f: invoke-direct {v15, v0, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;)V // method@0115 │ │ +00f374: 6e30 0f00 ed0f |0152: invoke-virtual {v13, v14, v15}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ +00f37a: 0c0d |0155: move-result-object v13 │ │ +00f37c: 140e 2b00 067f |0156: const v14, #float 1.78117e+38 // #7f06002b │ │ +00f382: 120f |0159: const/4 v15, #int 0 // #0 │ │ +00f384: 6e30 0d00 ed0f |015a: invoke-virtual {v13, v14, v15}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ +00f38a: 0c0d |015d: move-result-object v13 │ │ +00f38c: 6e10 1300 0d00 |015e: invoke-virtual {v13}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0013 │ │ +00f392: 121d |0161: const/4 v13, #int 1 // #1 │ │ +00f394: 2900 b7fe |0162: goto/16 0019 // -0149 │ │ +00f398: 140d 2f00 067f |0164: const v13, #float 1.78118e+38 // #7f06002f │ │ +00f39e: 28a4 |0167: goto 010b // -005c │ │ +00f3a0: 0001 0400 0000 0000 2400 0000 3e00 ... |0168: packed-switch-data (12 units) │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=670 │ │ + 0x0006 line=672 │ │ + 0x000e line=673 │ │ + 0x0015 line=737 │ │ + 0x001a line=675 │ │ + 0x001c line=676 │ │ + 0x0024 line=677 │ │ + 0x0034 line=678 │ │ + 0x0036 line=680 │ │ + 0x003d line=681 │ │ + 0x0044 line=682 │ │ + 0x0049 line=683 │ │ + 0x004e line=684 │ │ + 0x0050 line=686 │ │ + 0x0052 line=687 │ │ + 0x005c line=688 │ │ + 0x0064 line=687 │ │ + 0x0068 line=689 │ │ + 0x0071 line=690 │ │ + 0x0074 line=691 │ │ + 0x007e line=692 │ │ + 0x0093 line=693 │ │ + 0x009a line=695 │ │ + 0x00a0 line=694 │ │ + 0x00a8 line=696 │ │ + 0x00ac line=697 │ │ + 0x00af line=698 │ │ + 0x00b2 line=702 │ │ + 0x00c0 line=703 │ │ + 0x00c9 line=704 │ │ + 0x00cd line=706 │ │ + 0x00d0 line=708 │ │ + 0x00d8 line=707 │ │ + 0x00e1 line=709 │ │ + 0x00e9 line=710 │ │ + 0x00f0 line=709 │ │ + 0x00f3 line=711 │ │ + 0x0102 line=715 │ │ + 0x010b line=714 │ │ + 0x011f line=711 │ │ + 0x0122 line=720 │ │ + 0x0133 line=721 │ │ + 0x013d line=722 │ │ + 0x0144 line=723 │ │ + 0x0152 line=724 │ │ + 0x015a line=733 │ │ + 0x015e line=734 │ │ + 0x0161 line=735 │ │ + 0x0164 line=715 │ │ + 0x0168 line=673 │ │ + locals : │ │ + 0x0024 - 0x0036 reg=2 clipboard Landroid/text/ClipboardManager; │ │ + 0x003d - 0x0050 reg=6 intent Landroid/content/Intent; │ │ + 0x0052 - 0x00b2 reg=3 context Landroid/content/Context; │ │ + 0x0068 - 0x00b2 reg=4 frame Landroid/view/View; │ │ + 0x0071 - 0x00b2 reg=7 nameEdit Landroid/widget/EditText; │ │ + 0x0006 - 0x0174 reg=5 info Landroid/widget/AdapterView$AdapterContextMenuInfo; │ │ + 0x00e1 - 0x0174 reg=8 pixelsPerDip D │ │ + 0x00c0 - 0x0174 reg=10 promptContentView Landroid/view/View; │ │ + 0x000e - 0x0174 reg=11 user Ljava/lang/String; │ │ + 0x00c9 - 0x0174 reg=12 webView Landroid/webkit/WebView; │ │ + 0x0000 - 0x0174 reg=18 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0174 reg=19 item Landroid/view/MenuItem; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 11 │ │ + ins : 2 │ │ + outs : 5 │ │ + insns size : 273 16-bit code units │ │ +00f3b8: |[00f3b8] com.google.android.apps.authenticator.AuthenticatorActivity.onCreate:(Landroid/os/Bundle;)V │ │ +00f3c8: 1304 0800 |0000: const/16 v4, #int 8 // #8 │ │ +00f3cc: 1205 |0002: const/4 v5, #int 0 // #0 │ │ +00f3ce: 6f20 8002 a900 |0003: invoke-super {v9, v10}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onCreate:(Landroid/os/Bundle;)V // method@0280 │ │ +00f3d4: 7100 6402 0000 |0006: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getAccountDb:()Lcom/google/android/apps/authenticator/AccountDb; // method@0264 │ │ +00f3da: 0c03 |0009: move-result-object v3 │ │ +00f3dc: 5b93 5500 |000a: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ +00f3e0: 7100 6902 0000 |000c: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOtpProvider:()Lcom/google/android/apps/authenticator/OtpSource; // method@0269 │ │ +00f3e6: 0c03 |000f: move-result-object v3 │ │ +00f3e8: 5b93 5b00 |0010: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@005b │ │ +00f3ec: 1503 067f |0012: const/high16 v3, #int 2131099648 // #7f06 │ │ +00f3f0: 6e20 7901 3900 |0014: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setTitle:(I)V // method@0179 │ │ +00f3f6: 5493 5b00 |0017: iget-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@005b │ │ +00f3fa: 7210 dc01 0300 |0019: invoke-interface {v3}, Lcom/google/android/apps/authenticator/OtpSource;.getTotpCounter:()Lcom/google/android/apps/authenticator/TotpCounter; // method@01dc │ │ +00f400: 0c03 |001c: move-result-object v3 │ │ +00f402: 5b93 6100 |001d: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@0061 │ │ +00f406: 5493 5b00 |001f: iget-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; // field@005b │ │ +00f40a: 7210 db01 0300 |0021: invoke-interface {v3}, Lcom/google/android/apps/authenticator/OtpSource;.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; // method@01db │ │ +00f410: 0c03 |0024: move-result-object v3 │ │ +00f412: 5b93 5e00 |0025: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@005e │ │ +00f416: 1403 0600 037f |0027: const v3, #float 1.74129e+38 // #7f030006 │ │ +00f41c: 6e20 7801 3900 |002a: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.setContentView:(I)V // method@0178 │ │ +00f422: 6e10 5201 0900 |002d: invoke-virtual {v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLastNonConfigurationInstance:()Ljava/lang/Object; // method@0152 │ │ +00f428: 0c02 |0030: move-result-object v2 │ │ +00f42a: 3802 1d00 |0031: if-eqz v2, 004e // +001d │ │ +00f42e: 1f02 3001 |0033: check-cast v2, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ +00f432: 1f02 3001 |0035: check-cast v2, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ +00f436: 5b92 6400 |0037: iput-object v2, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00f43a: 5496 6400 |0039: iget-object v6, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00f43e: 2167 |003b: array-length v7, v6 │ │ +00f440: 0153 |003c: move v3, v5 │ │ +00f442: 3573 1100 |003d: if-ge v3, v7, 004e // +0011 │ │ +00f446: 4600 0603 |003f: aget-object v0, v6, v3 │ │ +00f44a: 7110 2a01 0000 |0041: invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$000:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z // method@012a │ │ +00f450: 0a08 |0044: move-result v8 │ │ +00f452: 3808 0600 |0045: if-eqz v8, 004b // +0006 │ │ +00f456: 1218 |0047: const/4 v8, #int 1 // #1 │ │ +00f458: 7120 2d01 8000 |0048: invoke-static {v0, v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;.access$102:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z // method@012d │ │ +00f45e: d803 0301 |004b: add-int/lit8 v3, v3, #int 1 // #01 │ │ +00f462: 28f0 |004d: goto 003d // -0010 │ │ +00f464: 380a 1600 |004e: if-eqz v10, 0064 // +0016 │ │ +00f468: 1a03 5705 |0050: const-string v3, "oldAppUninstallIntent" // string@0557 │ │ +00f46c: 6e20 7300 3a00 |0052: invoke-virtual {v10, v3}, Landroid/os/Bundle;.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable; // method@0073 │ │ +00f472: 0c03 |0055: move-result-object v3 │ │ +00f474: 1f03 1700 |0056: check-cast v3, Landroid/content/Intent; // type@0017 │ │ +00f478: 5b93 5a00 |0058: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOldAppUninstallIntent:Landroid/content/Intent; // field@005a │ │ +00f47c: 1a03 0806 |005a: const-string v3, "saveKeyDialogParams" // string@0608 │ │ +00f480: 6e20 7400 3a00 |005c: invoke-virtual {v10, v3}, Landroid/os/Bundle;.getSerializable:(Ljava/lang/String;)Ljava/io/Serializable; // method@0074 │ │ +00f486: 0c03 |005f: move-result-object v3 │ │ +00f488: 1f03 7800 |0060: check-cast v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // type@0078 │ │ +00f48c: 5b93 5c00 |0062: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@005c │ │ +00f490: 1403 1000 0a7f |0064: const v3, #float 1.83434e+38 // #7f0a0010 │ │ +00f496: 6e20 5001 3900 |0067: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ +00f49c: 0c03 |006a: move-result-object v3 │ │ +00f49e: 1f03 5b00 |006b: check-cast v3, Landroid/widget/ListView; // type@005b │ │ +00f4a2: 5b93 6300 |006d: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00f4a6: 1403 0b00 0a7f |006f: const v3, #float 1.83434e+38 // #7f0a000b │ │ +00f4ac: 6e20 5001 3900 |0072: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ +00f4b2: 0c03 |0075: move-result-object v3 │ │ +00f4b4: 5b93 5700 |0076: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentNoAccounts:Landroid/view/View; // field@0057 │ │ +00f4b8: 1403 0e00 0a7f |0078: const v3, #float 1.83434e+38 // #7f0a000e │ │ +00f4be: 6e20 5001 3900 |007b: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ +00f4c4: 0c03 |007e: move-result-object v3 │ │ +00f4c6: 5b93 5600 |007f: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentAccountsPresent:Landroid/view/View; // field@0056 │ │ +00f4ca: 5496 5700 |0081: iget-object v6, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentNoAccounts:Landroid/view/View; // field@0057 │ │ +00f4ce: 5493 6400 |0083: iget-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00f4d2: 2133 |0085: array-length v3, v3 │ │ +00f4d4: 3d03 8600 |0086: if-lez v3, 010c // +0086 │ │ +00f4d8: 0143 |0088: move v3, v4 │ │ +00f4da: 6e20 ab00 3600 |0089: invoke-virtual {v6, v3}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +00f4e0: 5493 5600 |008c: iget-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentAccountsPresent:Landroid/view/View; // field@0056 │ │ +00f4e4: 5496 6400 |008e: iget-object v6, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00f4e8: 2166 |0090: array-length v6, v6 │ │ +00f4ea: 3d06 7e00 |0091: if-lez v6, 010f // +007e │ │ +00f4ee: 6e20 ab00 5300 |0093: invoke-virtual {v3, v5}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +00f4f4: 1403 0a00 0a7f |0096: const v3, #float 1.83434e+38 // #7f0a000a │ │ +00f4fa: 6e20 5001 3900 |0099: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ +00f500: 0c01 |009c: move-result-object v1 │ │ +00f502: 1f01 5e00 |009d: check-cast v1, Landroid/widget/TextView; // type@005e │ │ +00f506: 1403 4400 067f |009f: const v3, #float 1.78118e+38 // #7f060044 │ │ +00f50c: 6e20 5801 3900 |00a2: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00f512: 0c03 |00a5: move-result-object v3 │ │ +00f514: 7110 9500 0300 |00a6: invoke-static {v3}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0095 │ │ +00f51a: 0c03 |00a9: move-result-object v3 │ │ +00f51c: 6e20 cd00 3100 |00aa: invoke-virtual {v1, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ +00f522: 1403 0c00 0a7f |00ad: const v3, #float 1.83434e+38 // #7f0a000c │ │ +00f528: 6e20 5001 3900 |00b0: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ +00f52e: 0c03 |00b3: move-result-object v3 │ │ +00f530: 2205 6a00 |00b4: new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1; // type@006a │ │ +00f534: 7020 0c01 9500 |00b6: invoke-direct {v5, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@010c │ │ +00f53a: 6e20 a900 5300 |00b9: invoke-virtual {v3, v5}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ +00f540: 1403 0d00 0a7f |00bc: const v3, #float 1.83434e+38 // #7f0a000d │ │ +00f546: 6e20 5001 3900 |00bf: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ +00f54c: 0c03 |00c2: move-result-object v3 │ │ +00f54e: 2205 6b00 |00c3: new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2; // type@006b │ │ +00f552: 7020 0e01 9500 |00c5: invoke-direct {v5, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@010e │ │ +00f558: 6e20 a900 5300 |00c8: invoke-virtual {v3, v5}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ +00f55e: 1403 0f00 0a7f |00cb: const v3, #float 1.83434e+38 // #7f0a000f │ │ +00f564: 6e20 5001 3900 |00ce: invoke-virtual {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.findViewById:(I)Landroid/view/View; // method@0150 │ │ +00f56a: 0c03 |00d1: move-result-object v3 │ │ +00f56c: 1f03 5e00 |00d2: check-cast v3, Landroid/widget/TextView; // type@005e │ │ +00f570: 5b93 5900 |00d4: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mEnterPinPrompt:Landroid/widget/TextView; // field@0059 │ │ +00f574: 2203 7700 |00d6: new-instance v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // type@0077 │ │ +00f578: 1405 0a00 037f |00d8: const v5, #float 1.74129e+38 // #7f03000a │ │ +00f57e: 5496 6400 |00db: iget-object v6, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00f582: 7056 3201 9359 |00dd: invoke-direct {v3, v9, v9, v5, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Context;I[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V // method@0132 │ │ +00f588: 5b93 6200 |00e0: iput-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ +00f58c: 5493 6300 |00e2: iget-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00f590: 6e20 c800 4300 |00e4: invoke-virtual {v3, v4}, Landroid/widget/ListView;.setVisibility:(I)V // method@00c8 │ │ +00f596: 5493 6300 |00e7: iget-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00f59a: 5494 6200 |00e9: iget-object v4, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ +00f59e: 6e20 c600 4300 |00eb: invoke-virtual {v3, v4}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00c6 │ │ +00f5a4: 5493 6300 |00ee: iget-object v3, v9, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00f5a8: 2204 6c00 |00f0: new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3; // type@006c │ │ +00f5ac: 7020 1001 9400 |00f2: invoke-direct {v4, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0110 │ │ +00f5b2: 6e20 c700 4300 |00f5: invoke-virtual {v3, v4}, Landroid/widget/ListView;.setOnItemClickListener:(Landroid/widget/AdapterView$OnItemClickListener;)V // method@00c7 │ │ +00f5b8: 390a 1300 |00f8: if-nez v10, 010b // +0013 │ │ +00f5bc: 7100 6802 0000 |00fa: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00f5c2: 0c03 |00fd: move-result-object v3 │ │ +00f5c4: 7220 cb01 9300 |00fe: invoke-interface {v3, v9}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityCreated:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@01cb │ │ +00f5ca: 7010 5d01 0900 |0101: invoke-direct {v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.importDataFromOldAppIfNecessary:()V // method@015d │ │ +00f5d0: 6e10 5101 0900 |0104: invoke-virtual {v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getIntent:()Landroid/content/Intent; // method@0151 │ │ +00f5d6: 0c03 |0107: move-result-object v3 │ │ +00f5d8: 7020 5b01 3900 |0108: invoke-direct {v9, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.handleIntent:(Landroid/content/Intent;)V // method@015b │ │ +00f5de: 0e00 |010b: return-void │ │ +00f5e0: 0153 |010c: move v3, v5 │ │ +00f5e2: 2900 7cff |010d: goto/16 0089 // -0084 │ │ +00f5e6: 0145 |010f: move v5, v4 │ │ +00f5e8: 2883 |0110: goto 0093 // -007d │ │ + catches : (none) │ │ + positions : │ │ + 0x0003 line=198 │ │ + 0x0006 line=200 │ │ + 0x000c line=201 │ │ + 0x0012 line=205 │ │ + 0x0017 line=207 │ │ + 0x001f line=208 │ │ + 0x0027 line=210 │ │ + 0x002d line=213 │ │ + 0x0031 line=214 │ │ + 0x0033 line=215 │ │ + 0x0039 line=217 │ │ + 0x0041 line=218 │ │ + 0x0047 line=219 │ │ + 0x004b line=217 │ │ + 0x004e line=224 │ │ + 0x0050 line=225 │ │ + 0x005a line=226 │ │ + 0x005c line=227 │ │ + 0x0064 line=230 │ │ + 0x006f line=231 │ │ + 0x0078 line=232 │ │ + 0x0081 line=233 │ │ + 0x008c line=234 │ │ + 0x0096 line=235 │ │ + 0x009f line=236 │ │ + 0x00a2 line=237 │ │ + 0x00aa line=236 │ │ + 0x00ad line=239 │ │ + 0x00bc line=245 │ │ + 0x00cb line=251 │ │ + 0x00d6 line=253 │ │ + 0x00e2 line=255 │ │ + 0x00e7 line=256 │ │ + 0x00ee line=257 │ │ + 0x00f8 line=270 │ │ + 0x00fa line=273 │ │ + 0x0101 line=274 │ │ + 0x0104 line=275 │ │ + 0x010b line=277 │ │ + 0x010d line=233 │ │ + 0x0110 line=234 │ │ + locals : │ │ + 0x0031 - 0x0035 reg=2 savedState Ljava/lang/Object; │ │ + 0x0041 - 0x004e reg=0 account Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ + 0x009f - 0x010c reg=1 noAccountsPromptDetails Landroid/widget/TextView; │ │ + 0x0000 - 0x0111 reg=9 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0111 reg=10 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + #4 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onCreateContextMenu' │ │ + type : '(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 11 │ │ + ins : 4 │ │ + outs : 5 │ │ + insns size : 54 16-bit code units │ │ +00f5ec: |[00f5ec] com.google.android.apps.authenticator.AuthenticatorActivity.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V │ │ +00f5fc: 1206 |0000: const/4 v6, #int 0 // #0 │ │ +00f5fe: 6f40 8102 87a9 |0001: invoke-super {v7, v8, v9, v10}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onCreateContextMenu:(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V // method@0281 │ │ +00f604: 07a0 |0004: move-object v0, v10 │ │ +00f606: 1f00 5300 |0005: check-cast v0, Landroid/widget/AdapterView$AdapterContextMenuInfo; // type@0053 │ │ +00f60a: 5304 0600 |0007: iget-wide v4, v0, Landroid/widget/AdapterView$AdapterContextMenuInfo;.id:J // field@0006 │ │ +00f60e: 7030 5c01 4705 |0009: invoke-direct {v7, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.idToEmail:(J)Ljava/lang/String; // method@015c │ │ +00f614: 0c02 |000c: move-result-object v2 │ │ +00f616: 5473 5500 |000d: iget-object v3, v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ +00f61a: 6e20 ea00 2300 |000f: invoke-virtual {v3, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ +00f620: 0c01 |0012: move-result-object v1 │ │ +00f622: 7220 9e00 2800 |0013: invoke-interface {v8, v2}, Landroid/view/ContextMenu;.setHeaderTitle:(Ljava/lang/CharSequence;)Landroid/view/ContextMenu; // method@009e │ │ +00f628: 1233 |0016: const/4 v3, #int 3 // #3 │ │ +00f62a: 1404 3400 067f |0017: const v4, #float 1.78118e+38 // #7f060034 │ │ +00f630: 7254 9d00 6863 |001a: invoke-interface {v8, v6, v3, v6, v4}, Landroid/view/ContextMenu;.add:(IIII)Landroid/view/MenuItem; // method@009d │ │ +00f636: 6203 0900 |001d: sget-object v3, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +00f63a: 3331 0800 |001f: if-ne v1, v3, 0027 // +0008 │ │ +00f63e: 1403 1b00 067f |0021: const v3, #float 1.78117e+38 // #7f06001b │ │ +00f644: 7253 9d00 6866 |0024: invoke-interface {v8, v6, v6, v6, v3}, Landroid/view/ContextMenu;.add:(IIII)Landroid/view/MenuItem; // method@009d │ │ +00f64a: 1213 |0027: const/4 v3, #int 1 // #1 │ │ +00f64c: 1404 3100 067f |0028: const v4, #float 1.78118e+38 // #7f060031 │ │ +00f652: 7254 9d00 6863 |002b: invoke-interface {v8, v6, v3, v6, v4}, Landroid/view/ContextMenu;.add:(IIII)Landroid/view/MenuItem; // method@009d │ │ +00f658: 1223 |002e: const/4 v3, #int 2 // #2 │ │ +00f65a: 1404 2c00 067f |002f: const v4, #float 1.78117e+38 // #7f06002c │ │ +00f660: 7254 9d00 6863 |0032: invoke-interface {v8, v6, v3, v6, v4}, Landroid/view/ContextMenu;.add:(IIII)Landroid/view/MenuItem; // method@009d │ │ +00f666: 0e00 |0035: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=654 │ │ + 0x0005 line=655 │ │ + 0x0007 line=656 │ │ + 0x000d line=657 │ │ + 0x0013 line=658 │ │ + 0x0016 line=659 │ │ + 0x001d line=661 │ │ + 0x0021 line=662 │ │ + 0x0027 line=664 │ │ + 0x002e line=665 │ │ + 0x0035 line=666 │ │ + locals : │ │ + 0x0007 - 0x0036 reg=0 info Landroid/widget/AdapterView$AdapterContextMenuInfo; │ │ + 0x0013 - 0x0036 reg=1 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x000d - 0x0036 reg=2 user Ljava/lang/String; │ │ + 0x0000 - 0x0036 reg=7 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0036 reg=8 menu Landroid/view/ContextMenu; │ │ + 0x0000 - 0x0036 reg=9 v Landroid/view/View; │ │ + 0x0000 - 0x0036 reg=10 menuInfo Landroid/view/ContextMenu$ContextMenuInfo; │ │ + │ │ + #5 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onCreateDialog' │ │ + type : '(I)Landroid/app/Dialog;' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 10 │ │ + ins : 2 │ │ + outs : 4 │ │ + insns size : 226 16-bit code units │ │ +00f668: |[00f668] com.google.android.apps.authenticator.AuthenticatorActivity.onCreateDialog:(I)Landroid/app/Dialog; │ │ +00f678: 1404 1300 067f |0000: const v4, #float 1.78117e+38 // #7f060013 │ │ +00f67e: 1207 |0003: const/4 v7, #int 0 // #0 │ │ +00f680: 1406 2b00 067f |0004: const v6, #float 1.78117e+38 // #7f06002b │ │ +00f686: 1405 2700 0801 |0007: const v5, #float 2.49794e-38 // #01080027 │ │ +00f68c: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +00f68e: 2c09 c100 0000 |000b: sparse-switch v9, 000000cc // +000000c1 │ │ +00f694: 7100 6802 0000 |000e: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00f69a: 0c03 |0011: move-result-object v3 │ │ +00f69c: 7230 ca01 8309 |0012: invoke-interface {v3, v8, v9}, Lcom/google/android/apps/authenticator/OptionalFeatures;.onAuthenticatorActivityCreateDialog:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)Landroid/app/Dialog; // method@01ca │ │ +00f6a2: 0c00 |0015: move-result-object v0 │ │ +00f6a4: 3900 0600 |0016: if-nez v0, 001c // +0006 │ │ +00f6a8: 6f20 8202 9800 |0018: invoke-super {v8, v9}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onCreateDialog:(I)Landroid/app/Dialog; // method@0282 │ │ +00f6ae: 0c00 |001b: move-result-object v0 │ │ +00f6b0: 1100 |001c: return-object v0 │ │ +00f6b2: 2201 0900 |001d: new-instance v1, Landroid/app/AlertDialog$Builder; // type@0009 │ │ +00f6b6: 7020 0700 8100 |001f: invoke-direct {v1, v8}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ +00f6bc: 1403 1c00 067f |0022: const v3, #float 1.78117e+38 // #7f06001c │ │ +00f6c2: 6e20 1000 3100 |0025: invoke-virtual {v1, v3}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ +00f6c8: 1403 1d00 067f |0028: const v3, #float 1.78117e+38 // #7f06001d │ │ +00f6ce: 6e20 0b00 3100 |002b: invoke-virtual {v1, v3}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ +00f6d4: 6e20 0a00 5100 |002e: invoke-virtual {v1, v5}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ +00f6da: 1403 1e00 067f |0031: const v3, #float 1.78117e+38 // #7f06001e │ │ +00f6e0: 2204 7000 |0034: new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7; // type@0070 │ │ +00f6e4: 7020 1901 8400 |0036: invoke-direct {v4, v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0119 │ │ +00f6ea: 6e30 0f00 3104 |0039: invoke-virtual {v1, v3, v4}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ +00f6f0: 6e30 0d00 6107 |003c: invoke-virtual {v1, v6, v7}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ +00f6f6: 6e10 0800 0100 |003f: invoke-virtual {v1}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ +00f6fc: 0c00 |0042: move-result-object v0 │ │ +00f6fe: 28d9 |0043: goto 001c // -0027 │ │ +00f700: 5482 5c00 |0044: iget-object v2, v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@005c │ │ +00f704: 2203 0900 |0046: new-instance v3, Landroid/app/AlertDialog$Builder; // type@0009 │ │ +00f708: 7020 0700 8300 |0048: invoke-direct {v3, v8}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ +00f70e: 1404 1700 067f |004b: const v4, #float 1.78117e+38 // #7f060017 │ │ +00f714: 6e20 1000 4300 |004e: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ +00f71a: 0c03 |0051: move-result-object v3 │ │ +00f71c: 7110 3801 0200 |0052: invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;.access$1300:(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; // method@0138 │ │ +00f722: 0c04 |0055: move-result-object v4 │ │ +00f724: 6e20 0c00 4300 |0056: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ +00f72a: 0c03 |0059: move-result-object v3 │ │ +00f72c: 6e20 0a00 5300 |005a: invoke-virtual {v3, v5}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ +00f732: 0c03 |005d: move-result-object v3 │ │ +00f734: 1404 3700 067f |005e: const v4, #float 1.78118e+38 // #7f060037 │ │ +00f73a: 2205 7100 |0061: new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8; // type@0071 │ │ +00f73e: 7030 1b01 8502 |0063: invoke-direct {v5, v8, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)V // method@011b │ │ +00f744: 6e30 0f00 4305 |0066: invoke-virtual {v3, v4, v5}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ +00f74a: 0c03 |0069: move-result-object v3 │ │ +00f74c: 6e30 0d00 6307 |006a: invoke-virtual {v3, v6, v7}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ +00f752: 0c03 |006d: move-result-object v3 │ │ +00f754: 6e10 0800 0300 |006e: invoke-virtual {v3}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ +00f75a: 0c00 |0071: move-result-object v0 │ │ +00f75c: 2203 7200 |0072: new-instance v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9; // type@0072 │ │ +00f760: 7030 1d01 8309 |0074: invoke-direct {v3, v8, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)V // method@011d │ │ +00f766: 6e20 1a00 3000 |0077: invoke-virtual {v0, v3}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001a │ │ +00f76c: 28a2 |007a: goto 001c // -005e │ │ +00f76e: 1403 1500 067f |007b: const v3, #float 1.78117e+38 // #7f060015 │ │ +00f774: 7040 4e01 4853 |007e: invoke-direct {v8, v4, v3, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.createOkAlertDialog:(III)Landroid/app/Dialog; // method@014e │ │ +00f77a: 0c00 |0081: move-result-object v0 │ │ +00f77c: 7020 6001 0800 |0082: invoke-direct {v8, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.markDialogAsResultOfSaveKeyIntent:(Landroid/app/Dialog;)V // method@0160 │ │ +00f782: 2897 |0085: goto 001c // -0069 │ │ +00f784: 1403 1400 067f |0086: const v3, #float 1.78117e+38 // #7f060014 │ │ +00f78a: 7040 4e01 4853 |0089: invoke-direct {v8, v4, v3, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.createOkAlertDialog:(III)Landroid/app/Dialog; // method@014e │ │ +00f790: 0c00 |008c: move-result-object v0 │ │ +00f792: 7020 6001 0800 |008d: invoke-direct {v8, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.markDialogAsResultOfSaveKeyIntent:(Landroid/app/Dialog;)V // method@0160 │ │ +00f798: 288c |0090: goto 001c // -0074 │ │ +00f79a: 2203 0900 |0091: new-instance v3, Landroid/app/AlertDialog$Builder; // type@0009 │ │ +00f79e: 7020 0700 8300 |0093: invoke-direct {v3, v8}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ +00f7a4: 1404 3900 067f |0096: const v4, #float 1.78118e+38 // #7f060039 │ │ +00f7aa: 6e20 1000 4300 |0099: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ +00f7b0: 0c03 |009c: move-result-object v3 │ │ +00f7b2: 7100 6802 0000 |009d: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getOptionalFeatures:()Lcom/google/android/apps/authenticator/OptionalFeatures; // method@0268 │ │ +00f7b8: 0c04 |00a0: move-result-object v4 │ │ +00f7ba: 1405 3a00 067f |00a1: const v5, #float 1.78118e+38 // #7f06003a │ │ +00f7c0: 6e20 5801 5800 |00a4: invoke-virtual {v8, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00f7c6: 0c05 |00a7: move-result-object v5 │ │ +00f7c8: 7230 c401 8405 |00a8: invoke-interface {v4, v8, v5}, Lcom/google/android/apps/authenticator/OptionalFeatures;.appendDataImportLearnMoreLink:(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; // method@01c4 │ │ +00f7ce: 0c04 |00ab: move-result-object v4 │ │ +00f7d0: 6e20 0c00 4300 |00ac: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ +00f7d6: 0c03 |00af: move-result-object v3 │ │ +00f7d8: 1214 |00b0: const/4 v4, #int 1 // #1 │ │ +00f7da: 6e20 0900 4300 |00b1: invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@0009 │ │ +00f7e0: 0c03 |00b4: move-result-object v3 │ │ +00f7e2: 1404 3b00 067f |00b5: const v4, #float 1.78118e+38 // #7f06003b │ │ +00f7e8: 2205 6700 |00b8: new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10; // type@0067 │ │ +00f7ec: 7020 0401 8500 |00ba: invoke-direct {v5, v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V // method@0104 │ │ +00f7f2: 6e30 0f00 4305 |00bd: invoke-virtual {v3, v4, v5}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000f │ │ +00f7f8: 0c03 |00c0: move-result-object v3 │ │ +00f7fa: 6e30 0d00 6307 |00c1: invoke-virtual {v3, v6, v7}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d │ │ +00f800: 0c03 |00c4: move-result-object v3 │ │ +00f802: 6e10 0800 0300 |00c5: invoke-virtual {v3}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ +00f808: 0c00 |00c8: move-result-object v0 │ │ +00f80a: 2900 53ff |00c9: goto/16 001c // -00ad │ │ +00f80e: 0000 |00cb: nop // spacer │ │ +00f810: 0002 0500 0000 0000 0300 0000 0700 ... |00cc: sparse-switch-data (22 units) │ │ + catches : (none) │ │ + positions : │ │ + 0x000a line=874 │ │ + 0x000b line=875 │ │ + 0x000e line=973 │ │ + 0x0016 line=974 │ │ + 0x0018 line=975 │ │ + 0x001c line=979 │ │ + 0x001d line=881 │ │ + 0x0022 line=882 │ │ + 0x0028 line=883 │ │ + 0x002e line=884 │ │ + 0x0031 line=885 │ │ + 0x003c line=902 │ │ + 0x003f line=903 │ │ + 0x0043 line=904 │ │ + 0x0044 line=907 │ │ + 0x0046 line=908 │ │ + 0x004e line=909 │ │ + 0x0052 line=910 │ │ + 0x005a line=911 │ │ + 0x0066 line=912 │ │ + 0x006a line=924 │ │ + 0x006e line=925 │ │ + 0x0072 line=930 │ │ + 0x007b line=940 │ │ + 0x0082 line=942 │ │ + 0x0086 line=946 │ │ + 0x008d line=948 │ │ + 0x0091 line=952 │ │ + 0x0099 line=953 │ │ + 0x009d line=955 │ │ + 0x00a4 line=957 │ │ + 0x00a8 line=955 │ │ + 0x00ac line=954 │ │ + 0x00b1 line=958 │ │ + 0x00bd line=959 │ │ + 0x00c1 line=967 │ │ + 0x00c5 line=968 │ │ + 0x00c9 line=969 │ │ + 0x00cb line=875 │ │ + locals : │ │ + 0x0022 - 0x0044 reg=1 dlBuilder Landroid/app/AlertDialog$Builder; │ │ + 0x0046 - 0x007b reg=2 saveKeyDialogParams Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ + 0x000b - 0x00e2 reg=0 dialog Landroid/app/Dialog; │ │ + 0x0000 - 0x00e2 reg=8 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x00e2 reg=9 id I │ │ + │ │ + #6 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onCreateOptionsMenu' │ │ + type : '(Landroid/view/Menu;)Z' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 11 16-bit code units │ │ +00f83c: |[00f83c] com.google.android.apps.authenticator.AuthenticatorActivity.onCreateOptionsMenu:(Landroid/view/Menu;)Z │ │ +00f84c: 6e10 5501 0200 |0000: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getMenuInflater:()Landroid/view/MenuInflater; // method@0155 │ │ +00f852: 0c00 |0003: move-result-object v0 │ │ +00f854: 1501 097f |0004: const/high16 v1, #int 2131296256 // #7f09 │ │ +00f858: 6e30 a100 1003 |0006: invoke-virtual {v0, v1, v3}, Landroid/view/MenuInflater;.inflate:(ILandroid/view/Menu;)V // method@00a1 │ │ +00f85e: 1210 |0009: const/4 v0, #int 1 // #1 │ │ +00f860: 0f00 |000a: return v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=762 │ │ + 0x0009 line=763 │ │ + locals : │ │ + 0x0000 - 0x000b reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x000b reg=3 menu Landroid/view/Menu; │ │ + │ │ + #7 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onMenuItemSelected' │ │ + type : '(ILandroid/view/MenuItem;)Z' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 5 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 36 16-bit code units │ │ +00f864: |[00f864] com.google.android.apps.authenticator.AuthenticatorActivity.onMenuItemSelected:(ILandroid/view/MenuItem;)Z │ │ +00f874: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +00f876: 7210 a200 0400 |0001: invoke-interface {v4}, Landroid/view/MenuItem;.getItemId:()I // method@00a2 │ │ +00f87c: 0a01 |0004: move-result v1 │ │ +00f87e: 2b01 1500 0000 |0005: packed-switch v1, 0000001a // +00000015 │ │ +00f884: 6f30 8302 3204 |0008: invoke-super {v2, v3, v4}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onMenuItemSelected:(ILandroid/view/MenuItem;)Z // method@0283 │ │ +00f88a: 0a00 |000b: move-result v0 │ │ +00f88c: 0f00 |000c: return v0 │ │ +00f88e: 7010 4c01 0200 |000d: invoke-direct {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.addAccount:()V // method@014c │ │ +00f894: 28fc |0010: goto 000c // -0004 │ │ +00f896: 7010 4f01 0200 |0011: invoke-direct {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.displayHowItWorksInstructions:()V // method@014f │ │ +00f89c: 28f8 |0014: goto 000c // -0008 │ │ +00f89e: 7010 7d01 0200 |0015: invoke-direct {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.showSettings:()V // method@017d │ │ +00f8a4: 28f4 |0018: goto 000c // -000c │ │ +00f8a6: 0000 |0019: nop // spacer │ │ +00f8a8: 0001 0300 2300 0a7f 0800 0000 0c00 ... |001a: packed-switch-data (10 units) │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=768 │ │ + 0x0008 line=780 │ │ + 0x000d line=770 │ │ + 0x0011 line=773 │ │ + 0x0015 line=776 │ │ + 0x0019 line=768 │ │ + locals : │ │ + 0x0000 - 0x0024 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0024 reg=3 featureId I │ │ + 0x0000 - 0x0024 reg=4 item Landroid/view/MenuItem; │ │ + │ │ + #8 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onNewIntent' │ │ + type : '(Landroid/content/Intent;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 15 16-bit code units │ │ +00f8bc: |[00f8bc] com.google.android.apps.authenticator.AuthenticatorActivity.onNewIntent:(Landroid/content/Intent;)V │ │ +00f8cc: 1500 067f |0000: const/high16 v0, #int 2131099648 // #7f06 │ │ +00f8d0: 6e20 5801 0200 |0002: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00f8d6: 0c00 |0005: move-result-object v0 │ │ +00f8d8: 1a01 4c00 |0006: const-string v1, "AuthenticatorActivity: onNewIntent" // string@004c │ │ +00f8dc: 7120 9900 1000 |0008: invoke-static {v0, v1}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ +00f8e2: 7020 5b01 3200 |000b: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.handleIntent:(Landroid/content/Intent;)V // method@015b │ │ +00f8e8: 0e00 |000e: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=319 │ │ + 0x000b line=320 │ │ + 0x000e line=321 │ │ + locals : │ │ + 0x0000 - 0x000f reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x000f reg=3 intent Landroid/content/Intent; │ │ + │ │ + #9 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onResume' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 18 16-bit code units │ │ +00f8ec: |[00f8ec] com.google.android.apps.authenticator.AuthenticatorActivity.onResume:()V │ │ +00f8fc: 6f10 8402 0200 |0000: invoke-super {v2}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onResume:()V // method@0284 │ │ +00f902: 1500 067f |0003: const/high16 v0, #int 2131099648 // #7f06 │ │ +00f906: 6e20 5801 0200 |0005: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getString:(I)Ljava/lang/String; // method@0158 │ │ +00f90c: 0c00 |0008: move-result-object v0 │ │ +00f90e: 1a01 4d00 |0009: const-string v1, "AuthenticatorActivity: onResume" // string@004d │ │ +00f912: 7120 9900 1000 |000b: invoke-static {v0, v1}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ +00f918: 7010 5d01 0200 |000e: invoke-direct {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.importDataFromOldAppIfNecessary:()V // method@015d │ │ +00f91e: 0e00 |0011: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=332 │ │ + 0x0003 line=333 │ │ + 0x000e line=335 │ │ + 0x0011 line=336 │ │ + locals : │ │ + 0x0000 - 0x0012 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #10 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onRetainNonConfigurationInstance' │ │ + type : '()Ljava/lang/Object;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00f920: |[00f920] com.google.android.apps.authenticator.AuthenticatorActivity.onRetainNonConfigurationInstance:()Ljava/lang/Object; │ │ +00f930: 5410 6400 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00f934: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=311 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #11 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onSaveInstanceState' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 18 16-bit code units │ │ +00f938: |[00f938] com.google.android.apps.authenticator.AuthenticatorActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ +00f948: 6f20 8502 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0285 │ │ +00f94e: 1a00 5705 |0003: const-string v0, "oldAppUninstallIntent" // string@0557 │ │ +00f952: 5421 5a00 |0005: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mOldAppUninstallIntent:Landroid/content/Intent; // field@005a │ │ +00f956: 6e30 7700 0301 |0007: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putParcelable:(Ljava/lang/String;Landroid/os/Parcelable;)V // method@0077 │ │ +00f95c: 1a00 0806 |000a: const-string v0, "saveKeyDialogParams" // string@0608 │ │ +00f960: 5421 5c00 |000c: iget-object v1, v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; // field@005c │ │ +00f964: 6e30 7800 0301 |000e: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putSerializable:(Ljava/lang/String;Ljava/io/Serializable;)V // method@0078 │ │ +00f96a: 0e00 |0011: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=303 │ │ + 0x0003 line=305 │ │ + 0x000a line=306 │ │ + 0x0011 line=307 │ │ + locals : │ │ + 0x0000 - 0x0012 reg=2 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0012 reg=3 outState Landroid/os/Bundle; │ │ + │ │ + #12 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onStart' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 7 16-bit code units │ │ +00f96c: |[00f96c] com.google.android.apps.authenticator.AuthenticatorActivity.onStart:()V │ │ +00f97c: 6f10 8602 0000 |0000: invoke-super {v0}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onStart:()V // method@0286 │ │ +00f982: 7010 8101 0000 |0003: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.updateCodesAndStartTotpCountdownTask:()V // method@0181 │ │ +00f988: 0e00 |0006: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=325 │ │ + 0x0003 line=327 │ │ + 0x0006 line=328 │ │ + locals : │ │ + 0x0000 - 0x0007 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #13 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'onStop' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 7 16-bit code units │ │ +00f98c: |[00f98c] com.google.android.apps.authenticator.AuthenticatorActivity.onStop:()V │ │ +00f99c: 7010 8001 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.stopTotpCountdownTask:()V // method@0180 │ │ +00f9a2: 6f10 8702 0000 |0003: invoke-super {v0}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onStop:()V // method@0287 │ │ +00f9a8: 0e00 |0006: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=340 │ │ + 0x0003 line=342 │ │ + 0x0006 line=343 │ │ + locals : │ │ + 0x0000 - 0x0007 reg=0 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #14 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'refreshUserList' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 5 16-bit code units │ │ +00f9ac: |[00f9ac] com.google.android.apps.authenticator.AuthenticatorActivity.refreshUserList:()V │ │ +00f9bc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +00f9be: 6e20 7101 0100 |0001: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.refreshUserList:(Z)V // method@0171 │ │ +00f9c4: 0e00 |0004: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=382 │ │ + 0x0004 line=383 │ │ + locals : │ │ + 0x0000 - 0x0005 reg=1 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #15 : (in Lcom/google/android/apps/authenticator/AuthenticatorActivity;) │ │ + name : 'refreshUserList' │ │ + type : '(Z)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 12 │ │ + ins : 2 │ │ + outs : 5 │ │ + insns size : 133 16-bit code units │ │ +00f9c8: |[00f9c8] com.google.android.apps.authenticator.AuthenticatorActivity.refreshUserList:(Z)V │ │ +00f9d8: 1306 0800 |0000: const/16 v6, #int 8 // #8 │ │ +00f9dc: 1207 |0002: const/4 v7, #int 0 // #0 │ │ +00f9de: 2204 0b01 |0003: new-instance v4, Ljava/util/ArrayList; // type@010b │ │ +00f9e2: 7010 6703 0400 |0005: invoke-direct {v4}, Ljava/util/ArrayList;.:()V // method@0367 │ │ +00f9e8: 54a5 5500 |0008: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0055 │ │ +00f9ec: 6e20 e600 4500 |000a: invoke-virtual {v5, v4}, Lcom/google/android/apps/authenticator/AccountDb;.getNames:(Ljava/util/Collection;)I // method@00e6 │ │ +00f9f2: 6e10 6a03 0400 |000d: invoke-virtual {v4}, Ljava/util/ArrayList;.size:()I // method@036a │ │ +00f9f8: 0a03 |0010: move-result v3 │ │ +00f9fa: 3d03 6400 |0011: if-lez v3, 0075 // +0064 │ │ +00f9fe: 390b 0700 |0013: if-nez v11, 001a // +0007 │ │ +00fa02: 54a5 6400 |0015: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00fa06: 2155 |0017: array-length v5, v5 │ │ +00fa08: 3235 1900 |0018: if-eq v5, v3, 0031 // +0019 │ │ +00fa0c: 1211 |001a: const/4 v1, #int 1 // #1 │ │ +00fa0e: 3801 0600 |001b: if-eqz v1, 0021 // +0006 │ │ +00fa12: 2335 3001 |001d: new-array v5, v3, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ +00fa16: 5ba5 6400 |001f: iput-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00fa1a: 1200 |0021: const/4 v0, #int 0 // #0 │ │ +00fa1c: 3530 1100 |0022: if-ge v0, v3, 0033 // +0011 │ │ +00fa20: 6e20 6903 0400 |0024: invoke-virtual {v4, v0}, Ljava/util/ArrayList;.get:(I)Ljava/lang/Object; // method@0369 │ │ +00fa26: 0c02 |0027: move-result-object v2 │ │ +00fa28: 1f02 f800 |0028: check-cast v2, Ljava/lang/String; // type@00f8 │ │ +00fa2c: 1205 |002a: const/4 v5, #int 0 // #0 │ │ +00fa2e: 6e40 4d01 2a50 |002b: invoke-virtual {v10, v2, v0, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.computeAndDisplayPin:(Ljava/lang/String;IZ)V // method@014d │ │ +00fa34: d800 0001 |002e: add-int/lit8 v0, v0, #int 1 // #01 │ │ +00fa38: 28f2 |0030: goto 0022 // -000e │ │ +00fa3a: 0171 |0031: move v1, v7 │ │ +00fa3c: 28e9 |0032: goto 001b // -0017 │ │ +00fa3e: 3801 1500 |0033: if-eqz v1, 0048 // +0015 │ │ +00fa42: 2205 7700 |0035: new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // type@0077 │ │ +00fa46: 1408 0a00 037f |0037: const v8, #float 1.74129e+38 // #7f03000a │ │ +00fa4c: 54a9 6400 |003a: iget-object v9, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00fa50: 7059 3201 a58a |003c: invoke-direct {v5, v10, v10, v8, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Context;I[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V // method@0132 │ │ +00fa56: 5ba5 6200 |003f: iput-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ +00fa5a: 54a5 6300 |0041: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00fa5e: 54a8 6200 |0043: iget-object v8, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ +00fa62: 6e20 c600 8500 |0045: invoke-virtual {v5, v8}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00c6 │ │ +00fa68: 54a5 6200 |0048: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; // field@0062 │ │ +00fa6c: 6e10 3501 0500 |004a: invoke-virtual {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;.notifyDataSetChanged:()V // method@0135 │ │ +00fa72: 54a5 6300 |004d: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00fa76: 6e10 c400 0500 |004f: invoke-virtual {v5}, Landroid/widget/ListView;.getVisibility:()I // method@00c4 │ │ +00fa7c: 0a05 |0052: move-result v5 │ │ +00fa7e: 3805 0c00 |0053: if-eqz v5, 005f // +000c │ │ +00fa82: 54a5 6300 |0055: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00fa86: 6e20 c800 7500 |0057: invoke-virtual {v5, v7}, Landroid/widget/ListView;.setVisibility:(I)V // method@00c8 │ │ +00fa8c: 54a5 6300 |005a: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00fa90: 6e20 7301 5a00 |005c: invoke-virtual {v10, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.registerForContextMenu:(Landroid/view/View;)V // method@0173 │ │ +00fa96: 54a8 5700 |005f: iget-object v8, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentNoAccounts:Landroid/view/View; // field@0057 │ │ +00fa9a: 54a5 6400 |0061: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00fa9e: 2155 |0063: array-length v5, v5 │ │ +00faa0: 3d05 1b00 |0064: if-lez v5, 007f // +001b │ │ +00faa4: 0165 |0066: move v5, v6 │ │ +00faa6: 6e20 ab00 5800 |0067: invoke-virtual {v8, v5}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +00faac: 54a5 5600 |006a: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mContentAccountsPresent:Landroid/view/View; // field@0056 │ │ +00fab0: 54a8 6400 |006c: iget-object v8, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00fab4: 2188 |006e: array-length v8, v8 │ │ +00fab6: 3d08 1200 |006f: if-lez v8, 0081 // +0012 │ │ +00faba: 6e20 ab00 7500 |0071: invoke-virtual {v5, v7}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +00fac0: 0e00 |0074: return-void │ │ +00fac2: 2375 3001 |0075: new-array v5, v7, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // type@0130 │ │ +00fac6: 5ba5 6400 |0077: iput-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; // field@0064 │ │ +00faca: 54a5 6300 |0079: iget-object v5, v10, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.mUserList:Landroid/widget/ListView; // field@0063 │ │ +00face: 6e20 c800 6500 |007b: invoke-virtual {v5, v6}, Landroid/widget/ListView;.setVisibility:(I)V // method@00c8 │ │ +00fad4: 28e1 |007e: goto 005f // -001f │ │ +00fad6: 0175 |007f: move v5, v7 │ │ +00fad8: 28e7 |0080: goto 0067 // -0019 │ │ +00fada: 0167 |0081: move v7, v6 │ │ +00fadc: 28ef |0082: goto 0071 // -0011 │ │ +00fade: 0d05 |0083: move-exception v5 │ │ +00fae0: 28aa |0084: goto 002e // -0056 │ │ + catches : 1 │ │ + 0x002b - 0x002e │ │ + Lcom/google/android/apps/authenticator/OtpSourceException; -> 0x0083 │ │ + positions : │ │ + 0x0003 line=418 │ │ + 0x0008 line=419 │ │ + 0x000d line=421 │ │ + 0x0011 line=423 │ │ + 0x0013 line=424 │ │ + 0x001b line=425 │ │ + 0x001d line=426 │ │ + 0x0021 line=429 │ │ + 0x0024 line=430 │ │ + 0x002a line=432 │ │ + 0x002e line=429 │ │ + 0x0032 line=424 │ │ + 0x0033 line=436 │ │ + 0x0035 line=439 │ │ + 0x0041 line=440 │ │ + 0x0048 line=443 │ │ + 0x004d line=445 │ │ + 0x0055 line=446 │ │ + 0x005a line=447 │ │ + 0x005f line=457 │ │ + 0x006a line=458 │ │ + 0x0074 line=459 │ │ + 0x0075 line=450 │ │ + 0x0079 line=451 │ │ + 0x0080 line=457 │ │ + 0x0082 line=458 │ │ + 0x0083 line=433 │ │ + locals : │ │ + 0x0022 - 0x0031 reg=0 i I │ │ + 0x001b - 0x0031 reg=1 newListRequired Z │ │ + 0x002a - 0x0031 reg=2 user Ljava/lang/String; │ │ + 0x0033 - 0x005f reg=0 i I │ │ + 0x0033 - 0x005f reg=1 newListRequired Z │ │ + 0x0083 - 0x0085 reg=0 i I │ │ + 0x0083 - 0x0085 reg=1 newListRequired Z │ │ + 0x0083 - 0x0085 reg=2 user Ljava/lang/String; │ │ + 0x0011 - 0x0085 reg=3 userCount I │ │ + 0x0008 - 0x0085 reg=4 usernames Ljava/util/ArrayList; Ljava/util/ArrayList; │ │ + 0x0000 - 0x0085 reg=10 this Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0085 reg=11 isAccountModified Z │ │ + │ │ + source_file_idx : 68 (AuthenticatorActivity.java) │ │ + │ │ +Class #95 header: │ │ +class_idx : 131 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 243 │ │ +source_file_idx : 550 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 10 │ │ + │ │ +Class #95 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/OptionalFeatures;' │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +00faf4: |[00faf4] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.:()V │ │ +00fb04: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00fb0a: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=30 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'appendDataImportLearnMoreLink' │ │ + type : '(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 3 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +00fb0c: |[00fb0c] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.appendDataImportLearnMoreLink:(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; │ │ +00fb1c: 1102 |0000: return-object v2 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=53 │ │ + locals : │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x0001 reg=1 context Landroid/content/Context; │ │ + 0x0000 - 0x0001 reg=2 text Ljava/lang/String; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'createOtpSource' │ │ + type : '(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)Lcom/google/android/apps/authenticator/OtpSource;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 6 16-bit code units │ │ +00fb20: |[00fb20] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.createOtpSource:(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)Lcom/google/android/apps/authenticator/OtpSource; │ │ +00fb30: 2200 8600 |0000: new-instance v0, Lcom/google/android/apps/authenticator/OtpProvider; // type@0086 │ │ +00fb34: 7030 d001 2003 |0002: invoke-direct {v0, v2, v3}, Lcom/google/android/apps/authenticator/OtpProvider;.:(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V // method@01d0 │ │ +00fb3a: 1100 |0005: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=58 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x0006 reg=2 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ + 0x0000 - 0x0006 reg=3 totpClock Lcom/google/android/apps/authenticator/TotpClock; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'getSharedPreferencesForDataImportFromOldApp' │ │ + type : '(Landroid/content/Context;)Landroid/content/SharedPreferences;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 0 │ │ + insns size : 2 16-bit code units │ │ +00fb3c: |[00fb3c] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.getSharedPreferencesForDataImportFromOldApp:(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ +00fb4c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +00fb4e: 1100 |0001: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=48 │ │ + locals : │ │ + 0x0000 - 0x0002 reg=1 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x0002 reg=2 context Landroid/content/Context; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'interpretScanResult' │ │ + type : '(Landroid/content/Context;Landroid/net/Uri;)Z' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 0 │ │ + insns size : 2 16-bit code units │ │ +00fb50: |[00fb50] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.interpretScanResult:(Landroid/content/Context;Landroid/net/Uri;)Z │ │ +00fb60: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +00fb62: 0f00 |0001: return v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=40 │ │ + locals : │ │ + 0x0000 - 0x0002 reg=1 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x0002 reg=2 context Landroid/content/Context; │ │ + 0x0000 - 0x0002 reg=3 scanResult Landroid/net/Uri; │ │ + │ │ + #4 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'onAuthenticatorActivityAccountSaved' │ │ + type : '(Landroid/content/Context;Ljava/lang/String;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 3 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +00fb64: |[00fb64] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityAccountSaved:(Landroid/content/Context;Ljava/lang/String;)V │ │ +00fb74: 0e00 |0000: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=36 │ │ + locals : │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x0001 reg=1 context Landroid/content/Context; │ │ + 0x0000 - 0x0001 reg=2 account Ljava/lang/String; │ │ + │ │ + #5 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'onAuthenticatorActivityAddAccount' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 11 16-bit code units │ │ +00fb78: |[00fb78] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityAddAccount:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00fb88: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ +00fb8c: 1c01 6600 |0002: const-class v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity; // type@0066 │ │ +00fb90: 7030 2f00 3001 |0004: invoke-direct {v0, v3, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ +00fb96: 6e20 7e01 0300 |0007: invoke-virtual {v3, v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.startActivity:(Landroid/content/Intent;)V // method@017e │ │ +00fb9c: 0e00 |000a: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=74 │ │ + 0x000a line=75 │ │ + locals : │ │ + 0x0000 - 0x000b reg=2 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x000b reg=3 activity Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #6 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'onAuthenticatorActivityCreateDialog' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)Landroid/app/Dialog;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 0 │ │ + insns size : 2 16-bit code units │ │ +00fba0: |[00fba0] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityCreateDialog:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)Landroid/app/Dialog; │ │ +00fbb0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +00fbb2: 1100 |0001: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=69 │ │ + locals : │ │ + 0x0000 - 0x0002 reg=1 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x0002 reg=2 activity Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0002 reg=3 id I │ │ + │ │ + #7 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'onAuthenticatorActivityCreated' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +00fbb4: |[00fbb4] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityCreated:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ +00fbc4: 0e00 |0000: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=33 │ │ + locals : │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x0001 reg=1 activity Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + │ │ + #8 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'onAuthenticatorActivityGetNextOtpFailed' │ │ + type : '(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Lcom/google/android/apps/authenticator/OtpSourceException;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 6 │ │ + ins : 4 │ │ + outs : 3 │ │ + insns size : 8 16-bit code units │ │ +00fbc8: |[00fbc8] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onAuthenticatorActivityGetNextOtpFailed:(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Lcom/google/android/apps/authenticator/OtpSourceException;)V │ │ +00fbd8: 2200 f600 |0000: new-instance v0, Ljava/lang/RuntimeException; // type@00f6 │ │ +00fbdc: 1a01 8700 |0002: const-string v1, "Failed to generate OTP for account" // string@0087 │ │ +00fbe0: 7030 4003 1005 |0004: invoke-direct {v0, v1, v5}, Ljava/lang/RuntimeException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0340 │ │ +00fbe6: 2700 |0007: throw v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=64 │ │ + locals : │ │ + 0x0000 - 0x0008 reg=2 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x0008 reg=3 activity Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + 0x0000 - 0x0008 reg=4 accountName Ljava/lang/String; │ │ + 0x0000 - 0x0008 reg=5 exception Lcom/google/android/apps/authenticator/OtpSourceException; │ │ + │ │ + #9 : (in Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures;) │ │ + name : 'onDataImportedFromOldApp' │ │ + type : '(Landroid/content/Context;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +00fbe8: |[00fbe8] com.google.android.apps.authenticator.MarketBuildOptionalFeatures.onDataImportedFromOldApp:(Landroid/content/Context;)V │ │ +00fbf8: 0e00 |0000: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=44 │ │ + locals : │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/MarketBuildOptionalFeatures; │ │ + 0x0000 - 0x0001 reg=1 context Landroid/content/Context; │ │ + │ │ + source_file_idx : 550 (MarketBuildOptionalFeatures.java) │ │ + │ │ +Class #96 header: │ │ +class_idx : 133 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 136 │ │ +source_file_idx : 566 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 0 │ │ + │ │ +Class #96 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/OtpGenerationNotPermittedException;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/OtpSourceException;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/OtpGenerationNotPermittedException;) │ │ + name : '' │ │ + type : '(Ljava/lang/String;)V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 4 16-bit code units │ │ +00fbfc: |[00fbfc] com.google.android.apps.authenticator.OtpGenerationNotPermittedException.:(Ljava/lang/String;)V │ │ +00fc0c: 7020 de01 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/apps/authenticator/OtpSourceException;.:(Ljava/lang/String;)V // method@01de │ │ +00fc12: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=27 │ │ + 0x0003 line=28 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/OtpGenerationNotPermittedException; │ │ + 0x0000 - 0x0004 reg=1 message Ljava/lang/String; │ │ + │ │ + Virtual methods - │ │ + source_file_idx : 566 (OtpGenerationNotPermittedException.java) │ │ + │ │ +Class #97 header: │ │ +class_idx : 134 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 243 │ │ +source_file_idx : 567 │ │ +static_fields_size : 3 │ │ +instance_fields_size: 3 │ │ +direct_methods_size : 4 │ │ +virtual_methods_size: 6 │ │ + │ │ +Class #97 annotations: │ │ +Annotations on method #465 'computePin' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ +Annotations on method #466 'enumerateAccounts' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/util/Collection" "<" "Ljava/lang/String;" ">;)I" } │ │ +Annotations on method #467 'getCurrentCode' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ +Annotations on method #468 'getNextCode' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ +Annotations on method #472 'respondToChallenge' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Lcom/google/android/apps/authenticator/OtpSourceException; } │ │ + │ │ +Class #97 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/OtpProvider;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/OtpSource;' │ │ + Static fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'DEFAULT_INTERVAL' │ │ + type : 'I' │ │ + access : 0x0019 (PUBLIC STATIC FINAL) │ │ + value : 30 │ │ + #1 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'PIN_LENGTH' │ │ + type : 'I' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : 6 │ │ + #2 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'REFLECTIVE_PIN_LENGTH' │ │ + type : 'I' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : 9 │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'mAccountDb' │ │ + type : 'Lcom/google/android/apps/authenticator/AccountDb;' │ │ + access : 0x0012 (PRIVATE FINAL) │ │ + #1 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'mTotpClock' │ │ + type : 'Lcom/google/android/apps/authenticator/TotpClock;' │ │ + access : 0x0012 (PRIVATE FINAL) │ │ + #2 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'mTotpCounter' │ │ + type : 'Lcom/google/android/apps/authenticator/TotpCounter;' │ │ + access : 0x0012 (PRIVATE FINAL) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : '' │ │ + type : '(ILcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 8 │ │ + ins : 4 │ │ + outs : 3 │ │ + insns size : 16 16-bit code units │ │ +00fc14: |[00fc14] com.google.android.apps.authenticator.OtpProvider.:(ILcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V │ │ +00fc24: 7010 3a03 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@033a │ │ +00fc2a: 5b46 8900 |0003: iput-object v6, v4, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ +00fc2e: 2200 9300 |0005: new-instance v0, Lcom/google/android/apps/authenticator/TotpCounter; // type@0093 │ │ +00fc32: 8152 |0007: int-to-long v2, v5 │ │ +00fc34: 7030 1002 2003 |0008: invoke-direct {v0, v2, v3}, Lcom/google/android/apps/authenticator/TotpCounter;.:(J)V // method@0210 │ │ +00fc3a: 5b40 8b00 |000b: iput-object v0, v4, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@008b │ │ +00fc3e: 5b47 8a00 |000d: iput-object v7, v4, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@008a │ │ +00fc42: 0e00 |000f: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=103 │ │ + 0x0003 line=104 │ │ + 0x0005 line=105 │ │ + 0x000d line=106 │ │ + 0x000f line=107 │ │ + locals : │ │ + 0x0000 - 0x0010 reg=4 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + 0x0000 - 0x0010 reg=5 interval I │ │ + 0x0000 - 0x0010 reg=6 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ + 0x0000 - 0x0010 reg=7 totpClock Lcom/google/android/apps/authenticator/TotpClock; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : '' │ │ + type : '(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 4 │ │ + insns size : 6 16-bit code units │ │ +00fc44: |[00fc44] com.google.android.apps.authenticator.OtpProvider.:(Lcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V │ │ +00fc54: 1300 1e00 |0000: const/16 v0, #int 30 // #1e │ │ +00fc58: 7040 cf01 0132 |0002: invoke-direct {v1, v0, v2, v3}, Lcom/google/android/apps/authenticator/OtpProvider;.:(ILcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V // method@01cf │ │ +00fc5e: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=100 │ │ + 0x0005 line=101 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + 0x0000 - 0x0006 reg=2 accountDb Lcom/google/android/apps/authenticator/AccountDb; │ │ + 0x0000 - 0x0006 reg=3 totpClock Lcom/google/android/apps/authenticator/TotpClock; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'computePin' │ │ + type : '(Ljava/lang/String;J[B)Ljava/lang/String;' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 11 │ │ + ins : 5 │ │ + outs : 4 │ │ + insns size : 52 16-bit code units │ │ +00fc60: |[00fc60] com.google.android.apps.authenticator.OtpProvider.computePin:(Ljava/lang/String;J[B)Ljava/lang/String; │ │ +00fc70: 3807 0800 |0000: if-eqz v7, 0008 // +0008 │ │ +00fc74: 6e10 4703 0700 |0002: invoke-virtual {v7}, Ljava/lang/String;.length:()I // method@0347 │ │ +00fc7a: 0a03 |0005: move-result v3 │ │ +00fc7c: 3903 0a00 |0006: if-nez v3, 0010 // +000a │ │ +00fc80: 2203 8800 |0008: new-instance v3, Lcom/google/android/apps/authenticator/OtpSourceException; // type@0088 │ │ +00fc84: 1a04 2f02 |000a: const-string v4, "Null or empty secret" // string@022f │ │ +00fc88: 7020 de01 4300 |000c: invoke-direct {v3, v4}, Lcom/google/android/apps/authenticator/OtpSourceException;.:(Ljava/lang/String;)V // method@01de │ │ +00fc8e: 2703 |000f: throw v3 │ │ +00fc90: 7110 e900 0700 |0010: invoke-static {v7}, Lcom/google/android/apps/authenticator/AccountDb;.getSigningOracle:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; // method@00e9 │ │ +00fc96: 0c02 |0013: move-result-object v2 │ │ +00fc98: 2201 8b00 |0014: new-instance v1, Lcom/google/android/apps/authenticator/PasscodeGenerator; // type@008b │ │ +00fc9c: 390a 0d00 |0016: if-nez v10, 0023 // +000d │ │ +00fca0: 1263 |0018: const/4 v3, #int 6 // #6 │ │ +00fca2: 7030 e401 2103 |0019: invoke-direct {v1, v2, v3}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.:(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V // method@01e4 │ │ +00fca8: 390a 0a00 |001c: if-nez v10, 0026 // +000a │ │ +00fcac: 6e30 e701 8109 |001e: invoke-virtual {v1, v8, v9}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J)Ljava/lang/String; // method@01e7 │ │ +00fcb2: 0c03 |0021: move-result-object v3 │ │ +00fcb4: 1103 |0022: return-object v3 │ │ +00fcb6: 1303 0900 |0023: const/16 v3, #int 9 // #9 │ │ +00fcba: 28f4 |0025: goto 0019 // -000c │ │ +00fcbc: 6e40 e801 81a9 |0026: invoke-virtual {v1, v8, v9, v10}, Lcom/google/android/apps/authenticator/PasscodeGenerator;.generateResponseCode:(J[B)Ljava/lang/String; // method@01e8 │ │ +00fcc2: 0c03 |0029: move-result-object v3 │ │ +00fcc4: 28f8 |002a: goto 0022 // -0008 │ │ +00fcc6: 0d00 |002b: move-exception v0 │ │ +00fcc8: 2203 8800 |002c: new-instance v3, Lcom/google/android/apps/authenticator/OtpSourceException; // type@0088 │ │ +00fccc: 1a04 6700 |002e: const-string v4, "Crypto failure" // string@0067 │ │ +00fcd0: 7030 df01 4300 |0030: invoke-direct {v3, v4, v0}, Lcom/google/android/apps/authenticator/OtpSourceException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@01df │ │ +00fcd6: 2703 |0033: throw v3 │ │ + catches : 1 │ │ + 0x0010 - 0x0029 │ │ + Ljava/security/GeneralSecurityException; -> 0x002b │ │ + positions : │ │ + 0x0000 line=119 │ │ + 0x0008 line=120 │ │ + 0x0010 line=124 │ │ + 0x0014 line=125 │ │ + 0x001c line=128 │ │ + 0x001e line=129 │ │ + 0x0022 line=128 │ │ + 0x0023 line=125 │ │ + 0x0026 line=130 │ │ + 0x002b line=131 │ │ + 0x002c line=132 │ │ + locals : │ │ + 0x001c - 0x0023 reg=1 pcg Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ + 0x0026 - 0x002b reg=1 pcg Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ + 0x0014 - 0x002b reg=2 signer Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer; │ │ + 0x002c - 0x0034 reg=0 e Ljava/security/GeneralSecurityException; │ │ + 0x0000 - 0x0034 reg=6 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + 0x0000 - 0x0034 reg=7 secret Ljava/lang/String; │ │ + 0x0000 - 0x0034 reg=8 otp_state J │ │ + 0x0000 - 0x0034 reg=10 challenge [B │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'getCurrentCode' │ │ + type : '(Ljava/lang/String;[B)Ljava/lang/String;' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 11 │ │ + ins : 3 │ │ + outs : 5 │ │ + insns size : 67 16-bit code units │ │ +00fce8: |[00fce8] com.google.android.apps.authenticator.OtpProvider.getCurrentCode:(Ljava/lang/String;[B)Ljava/lang/String; │ │ +00fcf8: 3909 0a00 |0000: if-nez v9, 000a // +000a │ │ +00fcfc: 2205 8800 |0002: new-instance v5, Lcom/google/android/apps/authenticator/OtpSourceException; // type@0088 │ │ +00fd00: 1a06 2d02 |0004: const-string v6, "No account name" // string@022d │ │ +00fd04: 7020 de01 6500 |0006: invoke-direct {v5, v6}, Lcom/google/android/apps/authenticator/OtpSourceException;.:(Ljava/lang/String;)V // method@01de │ │ +00fd0a: 2705 |0009: throw v5 │ │ +00fd0c: 5485 8900 |000a: iget-object v5, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ +00fd10: 6e20 ea00 9500 |000c: invoke-virtual {v5, v9}, Lcom/google/android/apps/authenticator/AccountDb;.getType:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; // method@00ea │ │ +00fd16: 0c04 |000f: move-result-object v4 │ │ +00fd18: 6e20 d501 9800 |0010: invoke-virtual {v8, v9}, Lcom/google/android/apps/authenticator/OtpProvider;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@01d5 │ │ +00fd1e: 0c01 |0013: move-result-object v1 │ │ +00fd20: 1602 0000 |0014: const-wide/16 v2, #int 0 // #0 │ │ +00fd24: 6205 0a00 |0016: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ +00fd28: 3354 1700 |0018: if-ne v4, v5, 002f // +0017 │ │ +00fd2c: 5485 8b00 |001a: iget-object v5, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@008b │ │ +00fd30: 5486 8a00 |001c: iget-object v6, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@008a │ │ +00fd34: 6e10 0002 0600 |001e: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/TotpClock;.currentTimeMillis:()J // method@0200 │ │ +00fd3a: 0b06 |0021: move-result-wide v6 │ │ +00fd3c: 7120 1d02 7600 |0022: invoke-static {v6, v7}, Lcom/google/android/apps/authenticator/Utilities;.millisToSeconds:(J)J // method@021d │ │ +00fd42: 0b06 |0025: move-result-wide v6 │ │ +00fd44: 6e30 1502 6507 |0026: invoke-virtual {v5, v6, v7}, Lcom/google/android/apps/authenticator/TotpCounter;.getValueAtTime:(J)J // method@0215 │ │ +00fd4a: 0b02 |0029: move-result-wide v2 │ │ +00fd4c: 705a d101 1832 |002a: invoke-direct {v8, v1, v2, v3, v10}, Lcom/google/android/apps/authenticator/OtpProvider;.computePin:(Ljava/lang/String;J[B)Ljava/lang/String; // method@01d1 │ │ +00fd52: 0c05 |002d: move-result-object v5 │ │ +00fd54: 1105 |002e: return-object v5 │ │ +00fd56: 6205 0900 |002f: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +00fd5a: 3354 f9ff |0031: if-ne v4, v5, 002a // -0007 │ │ +00fd5e: 5485 8900 |0033: iget-object v5, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ +00fd62: 6e20 eb00 9500 |0035: invoke-virtual {v5, v9}, Lcom/google/android/apps/authenticator/AccountDb;.incrementCounter:(Ljava/lang/String;)V // method@00eb │ │ +00fd68: 5485 8900 |0038: iget-object v5, v8, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ +00fd6c: 6e20 e500 9500 |003a: invoke-virtual {v5, v9}, Lcom/google/android/apps/authenticator/AccountDb;.getCounter:(Ljava/lang/String;)Ljava/lang/Integer; // method@00e5 │ │ +00fd72: 0c00 |003d: move-result-object v0 │ │ +00fd74: 6e10 2c03 0000 |003e: invoke-virtual {v0}, Ljava/lang/Integer;.longValue:()J // method@032c │ │ +00fd7a: 0b02 |0041: move-result-wide v2 │ │ +00fd7c: 28e8 |0042: goto 002a // -0018 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=76 │ │ + 0x0002 line=77 │ │ + 0x000a line=80 │ │ + 0x0010 line=81 │ │ + 0x0014 line=83 │ │ + 0x0016 line=85 │ │ + 0x001a line=87 │ │ + 0x001e line=88 │ │ + 0x002a line=96 │ │ + 0x002f line=89 │ │ + 0x0033 line=91 │ │ + 0x0038 line=92 │ │ + 0x003e line=93 │ │ + locals : │ │ + 0x003e - 0x0043 reg=0 counter Ljava/lang/Integer; │ │ + 0x0014 - 0x0043 reg=1 secret Ljava/lang/String; │ │ + 0x0016 - 0x0043 reg=2 otp_state J │ │ + 0x0010 - 0x0043 reg=4 type Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x0000 - 0x0043 reg=8 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + 0x0000 - 0x0043 reg=9 username Ljava/lang/String; │ │ + 0x0000 - 0x0043 reg=10 challenge [B │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'enumerateAccounts' │ │ + type : '(Ljava/util/Collection;)I' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 7 16-bit code units │ │ +00fd80: |[00fd80] com.google.android.apps.authenticator.OtpProvider.enumerateAccounts:(Ljava/util/Collection;)I │ │ +00fd90: 5410 8900 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ +00fd94: 6e20 e600 2000 |0002: invoke-virtual {v0, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getNames:(Ljava/util/Collection;)I // method@00e6 │ │ +00fd9a: 0a00 |0005: move-result v0 │ │ +00fd9c: 0f00 |0006: return v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=39 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=2 (null) Ljava/util/Collection; │ │ + 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + 0x0000 - 0x0007 reg=2 result Ljava/util/Collection; Ljava/util/Collection; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'getNextCode' │ │ + type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 6 16-bit code units │ │ +00fda0: |[00fda0] com.google.android.apps.authenticator.OtpProvider.getNextCode:(Ljava/lang/String;)Ljava/lang/String; │ │ +00fdb0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +00fdb2: 7030 d301 2100 |0001: invoke-direct {v1, v2, v0}, Lcom/google/android/apps/authenticator/OtpProvider;.getCurrentCode:(Ljava/lang/String;[B)Ljava/lang/String; // method@01d3 │ │ +00fdb8: 0c00 |0004: move-result-object v0 │ │ +00fdba: 1100 |0005: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=44 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + 0x0000 - 0x0006 reg=2 accountName Ljava/lang/String; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'getSecret' │ │ + type : '(Ljava/lang/String;)Ljava/lang/String;' │ │ + access : 0x0000 () │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 7 16-bit code units │ │ +00fdbc: |[00fdbc] com.google.android.apps.authenticator.OtpProvider.getSecret:(Ljava/lang/String;)Ljava/lang/String; │ │ +00fdcc: 5410 8900 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/OtpProvider;.mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; // field@0089 │ │ +00fdd0: 6e20 e800 2000 |0002: invoke-virtual {v0, v2}, Lcom/google/android/apps/authenticator/AccountDb;.getSecret:(Ljava/lang/String;)Ljava/lang/String; // method@00e8 │ │ +00fdd6: 0c00 |0005: move-result-object v0 │ │ +00fdd8: 1100 |0006: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=142 │ │ + locals : │ │ + 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + 0x0000 - 0x0007 reg=2 user Ljava/lang/String; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'getTotpClock' │ │ + type : '()Lcom/google/android/apps/authenticator/TotpClock;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00fddc: |[00fddc] com.google.android.apps.authenticator.OtpProvider.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; │ │ +00fdec: 5410 8a00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; // field@008a │ │ +00fdf0: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=71 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + │ │ + #4 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'getTotpCounter' │ │ + type : '()Lcom/google/android/apps/authenticator/TotpCounter;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00fdf4: |[00fdf4] com.google.android.apps.authenticator.OtpProvider.getTotpCounter:()Lcom/google/android/apps/authenticator/TotpCounter; │ │ +00fe04: 5410 8b00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/OtpProvider;.mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; // field@008b │ │ +00fe08: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=66 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + │ │ + #5 : (in Lcom/google/android/apps/authenticator/OtpProvider;) │ │ + name : 'respondToChallenge' │ │ + type : '(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 6 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 23 16-bit code units │ │ +00fe0c: |[00fe0c] com.google.android.apps.authenticator.OtpProvider.respondToChallenge:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ +00fe1c: 3905 0800 |0000: if-nez v5, 0008 // +0008 │ │ +00fe20: 1202 |0002: const/4 v2, #int 0 // #0 │ │ +00fe22: 7030 d301 4302 |0003: invoke-direct {v3, v4, v2}, Lcom/google/android/apps/authenticator/OtpProvider;.getCurrentCode:(Ljava/lang/String;[B)Ljava/lang/String; // method@01d3 │ │ +00fe28: 0c02 |0006: move-result-object v2 │ │ +00fe2a: 1102 |0007: return-object v2 │ │ +00fe2c: 1a02 9402 |0008: const-string v2, "UTF-8" // string@0294 │ │ +00fe30: 6e20 4603 2500 |000a: invoke-virtual {v5, v2}, Ljava/lang/String;.getBytes:(Ljava/lang/String;)[B // method@0346 │ │ +00fe36: 0c00 |000d: move-result-object v0 │ │ +00fe38: 7030 d301 4300 |000e: invoke-direct {v3, v4, v0}, Lcom/google/android/apps/authenticator/OtpProvider;.getCurrentCode:(Ljava/lang/String;[B)Ljava/lang/String; // method@01d3 │ │ +00fe3e: 0c02 |0011: move-result-object v2 │ │ +00fe40: 28f5 |0012: goto 0007 // -000b │ │ +00fe42: 0d01 |0013: move-exception v1 │ │ +00fe44: 1a02 0000 |0014: const-string v2, "" // string@0000 │ │ +00fe48: 28f1 |0016: goto 0007 // -000f │ │ + catches : 1 │ │ + 0x0008 - 0x0011 │ │ + Ljava/io/UnsupportedEncodingException; -> 0x0013 │ │ + positions : │ │ + 0x0000 line=53 │ │ + 0x0002 line=54 │ │ + 0x0007 line=60 │ │ + 0x0008 line=57 │ │ + 0x000e line=58 │ │ + 0x0013 line=59 │ │ + 0x0014 line=60 │ │ + locals : │ │ + 0x000e - 0x0013 reg=0 challengeBytes [B │ │ + 0x0014 - 0x0017 reg=1 e Ljava/io/UnsupportedEncodingException; │ │ + 0x0000 - 0x0017 reg=3 this Lcom/google/android/apps/authenticator/OtpProvider; │ │ + 0x0000 - 0x0017 reg=4 accountName Ljava/lang/String; │ │ + 0x0000 - 0x0017 reg=5 challenge Ljava/lang/String; │ │ + │ │ + source_file_idx : 567 (OtpProvider.java) │ │ + │ │ +Class #98 header: │ │ +class_idx : 137 │ │ +access_flags : 0 (0x0000) │ │ +superclass_idx : 243 │ │ +source_file_idx : 584 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 1 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 1 │ │ + │ │ +Class #98 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value= │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null │ │ + │ │ +Class #98 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/PasscodeGenerator$1;' │ │ + Access flags : 0x0000 () │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;' │ │ + Static fields - │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator$1;) │ │ + name : 'val$mac' │ │ + type : 'Ljavax/crypto/Mac;' │ │ + access : 0x1010 (FINAL SYNTHETIC) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator$1;) │ │ + name : '' │ │ + type : '(Ljavax/crypto/Mac;)V' │ │ + access : 0x10000 (CONSTRUCTOR) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 1 │ │ + insns size : 6 16-bit code units │ │ +00fe5c: |[00fe5c] com.google.android.apps.authenticator.PasscodeGenerator$1.:(Ljavax/crypto/Mac;)V │ │ +00fe6c: 5b01 8c00 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/PasscodeGenerator$1;.val$mac:Ljavax/crypto/Mac; // field@008c │ │ +00fe70: 7010 3a03 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00fe76: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=82 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/PasscodeGenerator$1; │ │ + 0x0000 - 0x0006 reg=1 (null) Ljavax/crypto/Mac; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/PasscodeGenerator$1;) │ │ + name : 'sign' │ │ + type : '([B)[B' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 7 16-bit code units │ │ +00fe78: |[00fe78] com.google.android.apps.authenticator.PasscodeGenerator$1.sign:([B)[B │ │ +00fe88: 5410 8c00 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/PasscodeGenerator$1;.val$mac:Ljavax/crypto/Mac; // field@008c │ │ +00fe8c: 6e20 7b03 2000 |0002: invoke-virtual {v0, v2}, Ljavax/crypto/Mac;.doFinal:([B)[B // method@037b │ │ +00fe92: 0c00 |0005: move-result-object v0 │ │ +00fe94: 1100 |0006: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=85 │ │ + locals : │ │ + 0x0000 - 0x0007 reg=1 this Lcom/google/android/apps/authenticator/PasscodeGenerator$1; │ │ + 0x0000 - 0x0007 reg=2 data [B │ │ + │ │ + source_file_idx : 584 (PasscodeGenerator.java) │ │ + │ │ +Class #99 header: │ │ +class_idx : 142 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 171 │ │ +source_file_idx : 611 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 1 │ │ + │ │ +Class #99 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/SettingsAboutActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/SettingsAboutActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +00fe98: |[00fe98] com.google.android.apps.authenticator.SettingsAboutActivity.:()V │ │ +00fea8: 7010 8a02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.:()V // method@028a │ │ +00feae: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=30 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/SettingsAboutActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/SettingsAboutActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 6 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 38 16-bit code units │ │ +00feb0: |[00feb0] com.google.android.apps.authenticator.SettingsAboutActivity.onCreate:(Landroid/os/Bundle;)V │ │ +00fec0: 6f20 8b02 5400 |0000: invoke-super {v4, v5}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.onCreate:(Landroid/os/Bundle;)V // method@028b │ │ +00fec6: 1401 0100 047f |0003: const v1, #float 1.75458e+38 // #7f040001 │ │ +00fecc: 6e20 f701 1400 |0006: invoke-virtual {v4, v1}, Lcom/google/android/apps/authenticator/SettingsAboutActivity;.addPreferencesFromResource:(I)V // method@01f7 │ │ +00fed2: 1a00 0000 |0009: const-string v0, "" // string@0000 │ │ +00fed6: 6e10 f901 0400 |000b: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/SettingsAboutActivity;.getPackageManager:()Landroid/content/pm/PackageManager; // method@01f9 │ │ +00fedc: 0c01 |000e: move-result-object v1 │ │ +00fede: 6e10 fa01 0400 |000f: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/SettingsAboutActivity;.getPackageName:()Ljava/lang/String; // method@01fa │ │ +00fee4: 0c02 |0012: move-result-object v2 │ │ +00fee6: 1203 |0013: const/4 v3, #int 0 // #0 │ │ +00fee8: 6e30 4700 2103 |0014: invoke-virtual {v1, v2, v3}, Landroid/content/pm/PackageManager;.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo; // method@0047 │ │ +00feee: 0c01 |0017: move-result-object v1 │ │ +00fef0: 5410 0200 |0018: iget-object v0, v1, Landroid/content/pm/PackageInfo;.versionName:Ljava/lang/String; // field@0002 │ │ +00fef4: 1a01 d906 |001a: const-string v1, "version" // string@06d9 │ │ +00fef8: 6e20 f801 1400 |001c: invoke-virtual {v4, v1}, Lcom/google/android/apps/authenticator/SettingsAboutActivity;.findPreference:(Ljava/lang/CharSequence;)Landroid/preference/Preference; // method@01f8 │ │ +00fefe: 0c01 |001f: move-result-object v1 │ │ +00ff00: 6e20 8d00 0100 |0020: invoke-virtual {v1, v0}, Landroid/preference/Preference;.setSummary:(Ljava/lang/CharSequence;)V // method@008d │ │ +00ff06: 0e00 |0023: return-void │ │ +00ff08: 0d01 |0024: move-exception v1 │ │ +00ff0a: 28f5 |0025: goto 001a // -000b │ │ + catches : 1 │ │ + 0x000b - 0x001a │ │ + Landroid/content/pm/PackageManager$NameNotFoundException; -> 0x0024 │ │ + positions : │ │ + 0x0000 line=34 │ │ + 0x0003 line=36 │ │ + 0x0009 line=38 │ │ + 0x000b line=40 │ │ + 0x001a line=42 │ │ + 0x0023 line=43 │ │ + 0x0024 line=41 │ │ + locals : │ │ + 0x000b - 0x0026 reg=0 packageVersion Ljava/lang/String; │ │ + 0x0000 - 0x0026 reg=4 this Lcom/google/android/apps/authenticator/SettingsAboutActivity; │ │ + 0x0000 - 0x0026 reg=5 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + source_file_idx : 611 (SettingsAboutActivity.java) │ │ + │ │ +Class #100 header: │ │ +class_idx : 143 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 171 │ │ +source_file_idx : 612 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 1 │ │ + │ │ +Class #100 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/SettingsActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/SettingsActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +00ff18: |[00ff18] com.google.android.apps.authenticator.SettingsActivity.:()V │ │ +00ff28: 7010 8a02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.:()V // method@028a │ │ +00ff2e: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=29 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/SettingsActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/SettingsActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 9 16-bit code units │ │ +00ff30: |[00ff30] com.google.android.apps.authenticator.SettingsActivity.onCreate:(Landroid/os/Bundle;)V │ │ +00ff40: 6f20 8b02 2100 |0000: invoke-super {v1, v2}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.onCreate:(Landroid/os/Bundle;)V // method@028b │ │ +00ff46: 1500 047f |0003: const/high16 v0, #int 2130968576 // #7f04 │ │ +00ff4a: 6e20 fd01 0100 |0005: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/SettingsActivity;.addPreferencesFromResource:(I)V // method@01fd │ │ +00ff50: 0e00 |0008: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=33 │ │ + 0x0003 line=35 │ │ + 0x0008 line=36 │ │ + locals : │ │ + 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/SettingsActivity; │ │ + 0x0000 - 0x0009 reg=2 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + source_file_idx : 612 (SettingsActivity.java) │ │ + │ │ +Class #101 header: │ │ +class_idx : 150 │ │ +access_flags : 0 (0x0000) │ │ +superclass_idx : 243 │ │ +source_file_idx : 161 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 1 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 4 │ │ + │ │ +Class #101 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub; │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=10 name="Proxy" │ │ +Annotations on method #546 'getData' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Landroid/os/RemoteException; } │ │ +Annotations on method #548 'onImportSucceeded' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Landroid/os/RemoteException; } │ │ + │ │ +Class #101 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;' │ │ + Access flags : 0x0000 () │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;' │ │ + Static fields - │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ + name : 'mRemote' │ │ + type : 'Landroid/os/IBinder;' │ │ + access : 0x0002 (PRIVATE) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ + name : '' │ │ + type : '(Landroid/os/IBinder;)V' │ │ + access : 0x10000 (CONSTRUCTOR) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 1 │ │ + insns size : 6 16-bit code units │ │ +00ff54: |[00ff54] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.:(Landroid/os/IBinder;)V │ │ +00ff64: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +00ff6a: 5b01 a900 |0003: iput-object v1, v0, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.mRemote:Landroid/os/IBinder; // field@00a9 │ │ +00ff6e: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=73 │ │ + 0x0003 line=74 │ │ + 0x0005 line=75 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=0 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ + 0x0000 - 0x0006 reg=1 remote Landroid/os/IBinder; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ + name : 'asBinder' │ │ + type : '()Landroid/os/IBinder;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +00ff70: |[00ff70] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.asBinder:()Landroid/os/IBinder; │ │ +00ff80: 5410 a900 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.mRemote:Landroid/os/IBinder; // field@00a9 │ │ +00ff84: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=78 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ + name : 'getData' │ │ + type : '()Landroid/os/Bundle;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 7 │ │ + ins : 1 │ │ + outs : 5 │ │ + insns size : 54 16-bit code units │ │ +00ff88: |[00ff88] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.getData:()Landroid/os/Bundle; │ │ +00ff98: 7100 8200 0000 |0000: invoke-static {}, Landroid/os/Parcel;.obtain:()Landroid/os/Parcel; // method@0082 │ │ +00ff9e: 0c00 |0003: move-result-object v0 │ │ +00ffa0: 7100 8200 0000 |0004: invoke-static {}, Landroid/os/Parcel;.obtain:()Landroid/os/Parcel; // method@0082 │ │ +00ffa6: 0c01 |0007: move-result-object v1 │ │ +00ffa8: 1a03 7b03 |0008: const-string v3, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037b │ │ +00ffac: 6e20 8700 3000 |000a: invoke-virtual {v0, v3}, Landroid/os/Parcel;.writeInterfaceToken:(Ljava/lang/String;)V // method@0087 │ │ +00ffb2: 5463 a900 |000d: iget-object v3, v6, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.mRemote:Landroid/os/IBinder; // field@00a9 │ │ +00ffb6: 1214 |000f: const/4 v4, #int 1 // #1 │ │ +00ffb8: 1205 |0010: const/4 v5, #int 0 // #0 │ │ +00ffba: 7255 7f00 4310 |0011: invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z // method@007f │ │ +00ffc0: 6e10 8300 0100 |0014: invoke-virtual {v1}, Landroid/os/Parcel;.readException:()V // method@0083 │ │ +00ffc6: 6e10 8400 0100 |0017: invoke-virtual {v1}, Landroid/os/Parcel;.readInt:()I // method@0084 │ │ +00ffcc: 0a03 |001a: move-result v3 │ │ +00ffce: 3803 1100 |001b: if-eqz v3, 002c // +0011 │ │ +00ffd2: 6203 0500 |001d: sget-object v3, Landroid/os/Bundle;.CREATOR:Landroid/os/Parcelable$Creator; // field@0005 │ │ +00ffd6: 7220 8a00 1300 |001f: invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object; // method@008a │ │ +00ffdc: 0c02 |0022: move-result-object v2 │ │ +00ffde: 1f02 2e00 |0023: check-cast v2, Landroid/os/Bundle; // type@002e │ │ +00ffe2: 6e10 8500 0100 |0025: invoke-virtual {v1}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ +00ffe8: 6e10 8500 0000 |0028: invoke-virtual {v0}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ +00ffee: 1102 |002b: return-object v2 │ │ +00fff0: 1202 |002c: const/4 v2, #int 0 // #0 │ │ +00fff2: 28f8 |002d: goto 0025 // -0008 │ │ +00fff4: 0d03 |002e: move-exception v3 │ │ +00fff6: 6e10 8500 0100 |002f: invoke-virtual {v1}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ +00fffc: 6e10 8500 0000 |0032: invoke-virtual {v0}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ +010002: 2703 |0035: throw v3 │ │ + catches : 1 │ │ + 0x0008 - 0x0025 │ │ + -> 0x002e │ │ + positions : │ │ + 0x0000 line=86 │ │ + 0x0004 line=87 │ │ + 0x0008 line=90 │ │ + 0x000d line=91 │ │ + 0x0014 line=92 │ │ + 0x0017 line=93 │ │ + 0x001d line=94 │ │ + 0x0025 line=101 │ │ + 0x0028 line=102 │ │ + 0x002b line=104 │ │ + 0x002c line=97 │ │ + 0x002e line=101 │ │ + 0x0032 line=102 │ │ + locals : │ │ + 0x0025 - 0x002c reg=2 _result Landroid/os/Bundle; │ │ + 0x002d - 0x002e reg=2 _result Landroid/os/Bundle; │ │ + 0x0004 - 0x0036 reg=0 _data Landroid/os/Parcel; │ │ + 0x0008 - 0x0036 reg=1 _reply Landroid/os/Parcel; │ │ + 0x0000 - 0x0036 reg=6 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ + name : 'getInterfaceDescriptor' │ │ + type : '()Ljava/lang/String;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +010010: |[010010] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.getInterfaceDescriptor:()Ljava/lang/String; │ │ +010020: 1a00 7b03 |0000: const-string v0, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037b │ │ +010024: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=82 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;) │ │ + name : 'onImportSucceeded' │ │ + type : '()V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 6 │ │ + ins : 1 │ │ + outs : 5 │ │ + insns size : 38 16-bit code units │ │ +010028: |[010028] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub$Proxy.onImportSucceeded:()V │ │ +010038: 7100 8200 0000 |0000: invoke-static {}, Landroid/os/Parcel;.obtain:()Landroid/os/Parcel; // method@0082 │ │ +01003e: 0c00 |0003: move-result-object v0 │ │ +010040: 7100 8200 0000 |0004: invoke-static {}, Landroid/os/Parcel;.obtain:()Landroid/os/Parcel; // method@0082 │ │ +010046: 0c01 |0007: move-result-object v1 │ │ +010048: 1a02 7b03 |0008: const-string v2, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037b │ │ +01004c: 6e20 8700 2000 |000a: invoke-virtual {v0, v2}, Landroid/os/Parcel;.writeInterfaceToken:(Ljava/lang/String;)V // method@0087 │ │ +010052: 5452 a900 |000d: iget-object v2, v5, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.mRemote:Landroid/os/IBinder; // field@00a9 │ │ +010056: 1223 |000f: const/4 v3, #int 2 // #2 │ │ +010058: 1204 |0010: const/4 v4, #int 0 // #0 │ │ +01005a: 7254 7f00 3210 |0011: invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z // method@007f │ │ +010060: 6e10 8300 0100 |0014: invoke-virtual {v1}, Landroid/os/Parcel;.readException:()V // method@0083 │ │ +010066: 6e10 8500 0100 |0017: invoke-virtual {v1}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ +01006c: 6e10 8500 0000 |001a: invoke-virtual {v0}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ +010072: 0e00 |001d: return-void │ │ +010074: 0d02 |001e: move-exception v2 │ │ +010076: 6e10 8500 0100 |001f: invoke-virtual {v1}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ +01007c: 6e10 8500 0000 |0022: invoke-virtual {v0}, Landroid/os/Parcel;.recycle:()V // method@0085 │ │ +010082: 2702 |0025: throw v2 │ │ + catches : 1 │ │ + 0x0008 - 0x0017 │ │ + -> 0x001e │ │ + positions : │ │ + 0x0000 line=108 │ │ + 0x0004 line=109 │ │ + 0x0008 line=111 │ │ + 0x000d line=112 │ │ + 0x0014 line=113 │ │ + 0x0017 line=116 │ │ + 0x001a line=117 │ │ + 0x001d line=119 │ │ + 0x001e line=116 │ │ + 0x0022 line=117 │ │ + locals : │ │ + 0x0004 - 0x0026 reg=0 _data Landroid/os/Parcel; │ │ + 0x0008 - 0x0026 reg=1 _reply Landroid/os/Parcel; │ │ + 0x0000 - 0x0026 reg=5 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; │ │ + │ │ + source_file_idx : 161 (IExportServiceV2.java) │ │ + │ │ +Class #102 header: │ │ +class_idx : 151 │ │ +access_flags : 1025 (0x0401) │ │ +superclass_idx : 44 │ │ +source_file_idx : 161 │ │ +static_fields_size : 3 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 2 │ │ +virtual_methods_size: 2 │ │ + │ │ +Class #102 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=1033 name="Stub" │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; } │ │ +Annotations on method #555 'onTransact' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Landroid/os/RemoteException; } │ │ + │ │ +Class #102 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;' │ │ + Access flags : 0x0401 (PUBLIC ABSTRACT) │ │ + Superclass : 'Landroid/os/Binder;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;' │ │ + Static fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ + name : 'DESCRIPTOR' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "com.google.android.apps.authenticator.dataexport.IExportServiceV2" │ │ + #1 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ + name : 'TRANSACTION_getData' │ │ + type : 'I' │ │ + access : 0x0018 (STATIC FINAL) │ │ + value : 1 │ │ + #2 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ + name : 'TRANSACTION_onImportSucceeded' │ │ + type : 'I' │ │ + access : 0x0018 (STATIC FINAL) │ │ + value : 2 │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 9 16-bit code units │ │ +010090: |[010090] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub.:()V │ │ +0100a0: 7010 6d00 0100 |0000: invoke-direct {v1}, Landroid/os/Binder;.:()V // method@006d │ │ +0100a6: 1a00 7b03 |0003: const-string v0, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037b │ │ +0100aa: 6e30 2802 1100 |0005: invoke-virtual {v1, v1, v0}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;.attachInterface:(Landroid/os/IInterface;Ljava/lang/String;)V // method@0228 │ │ +0100b0: 0e00 |0008: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=14 │ │ + 0x0003 line=15 │ │ + 0x0008 line=16 │ │ + locals : │ │ + 0x0000 - 0x0009 reg=1 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ + name : 'asInterface' │ │ + type : '(Landroid/os/IBinder;)Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2;' │ │ + access : 0x0009 (PUBLIC STATIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 25 16-bit code units │ │ +0100b4: |[0100b4] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub.asInterface:(Landroid/os/IBinder;)Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; │ │ +0100c4: 3902 0400 |0000: if-nez v2, 0004 // +0004 │ │ +0100c8: 1200 |0002: const/4 v0, #int 0 // #0 │ │ +0100ca: 1100 |0003: return-object v0 │ │ +0100cc: 1a01 7b03 |0004: const-string v1, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037b │ │ +0100d0: 7220 7e00 1200 |0006: invoke-interface {v2, v1}, Landroid/os/IBinder;.queryLocalInterface:(Ljava/lang/String;)Landroid/os/IInterface; // method@007e │ │ +0100d6: 0c00 |0009: move-result-object v0 │ │ +0100d8: 3800 0900 |000a: if-eqz v0, 0013 // +0009 │ │ +0100dc: 2001 9800 |000c: instance-of v1, v0, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; // type@0098 │ │ +0100e0: 3801 0500 |000e: if-eqz v1, 0013 // +0005 │ │ +0100e4: 1f00 9800 |0010: check-cast v0, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2; // type@0098 │ │ +0100e8: 28f1 |0012: goto 0003 // -000f │ │ +0100ea: 2200 9600 |0013: new-instance v0, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy; // type@0096 │ │ +0100ee: 7020 2002 2000 |0015: invoke-direct {v0, v2}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy;.:(Landroid/os/IBinder;)V // method@0220 │ │ +0100f4: 28eb |0018: goto 0003 // -0015 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=23 │ │ + 0x0002 line=24 │ │ + 0x0003 line=30 │ │ + 0x0004 line=26 │ │ + 0x000a line=27 │ │ + 0x0010 line=28 │ │ + 0x0013 line=30 │ │ + locals : │ │ + 0x000a - 0x0015 reg=0 iin Landroid/os/IInterface; │ │ + 0x0000 - 0x0019 reg=2 obj Landroid/os/IBinder; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ + name : 'asBinder' │ │ + type : '()Landroid/os/IBinder;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +0100f8: |[0100f8] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub.asBinder:()Landroid/os/IBinder; │ │ +010108: 1100 |0000: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=34 │ │ + locals : │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;) │ │ + name : 'onTransact' │ │ + type : '(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 8 │ │ + ins : 5 │ │ + outs : 5 │ │ + insns size : 68 16-bit code units │ │ +01010c: |[01010c] com.google.android.apps.authenticator.dataexport.IExportServiceV2$Stub.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z │ │ +01011c: 1211 |0000: const/4 v1, #int 1 // #1 │ │ +01011e: 2c04 3500 0000 |0001: sparse-switch v4, 00000036 // +00000035 │ │ +010124: 6f57 6e00 4365 |0004: invoke-super {v3, v4, v5, v6, v7}, Landroid/os/Binder;.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z // method@006e │ │ +01012a: 0a01 |0007: move-result v1 │ │ +01012c: 0f01 |0008: return v1 │ │ +01012e: 1a02 7b03 |0009: const-string v2, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037b │ │ +010132: 6e20 8900 2600 |000b: invoke-virtual {v6, v2}, Landroid/os/Parcel;.writeString:(Ljava/lang/String;)V // method@0089 │ │ +010138: 28fa |000e: goto 0008 // -0006 │ │ +01013a: 1a02 7b03 |000f: const-string v2, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037b │ │ +01013e: 6e20 8100 2500 |0011: invoke-virtual {v5, v2}, Landroid/os/Parcel;.enforceInterface:(Ljava/lang/String;)V // method@0081 │ │ +010144: 6e10 2902 0300 |0014: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;.getData:()Landroid/os/Bundle; // method@0229 │ │ +01014a: 0c00 |0017: move-result-object v0 │ │ +01014c: 6e10 8800 0600 |0018: invoke-virtual {v6}, Landroid/os/Parcel;.writeNoException:()V // method@0088 │ │ +010152: 3800 0900 |001b: if-eqz v0, 0024 // +0009 │ │ +010156: 6e20 8600 1600 |001d: invoke-virtual {v6, v1}, Landroid/os/Parcel;.writeInt:(I)V // method@0086 │ │ +01015c: 6e30 7900 6001 |0020: invoke-virtual {v0, v6, v1}, Landroid/os/Bundle;.writeToParcel:(Landroid/os/Parcel;I)V // method@0079 │ │ +010162: 28e5 |0023: goto 0008 // -001b │ │ +010164: 1202 |0024: const/4 v2, #int 0 // #0 │ │ +010166: 6e20 8600 2600 |0025: invoke-virtual {v6, v2}, Landroid/os/Parcel;.writeInt:(I)V // method@0086 │ │ +01016c: 28e0 |0028: goto 0008 // -0020 │ │ +01016e: 1a02 7b03 |0029: const-string v2, "com.google.android.apps.authenticator.dataexport.IExportServiceV2" // string@037b │ │ +010172: 6e20 8100 2500 |002b: invoke-virtual {v5, v2}, Landroid/os/Parcel;.enforceInterface:(Ljava/lang/String;)V // method@0081 │ │ +010178: 6e10 2a02 0300 |002e: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub;.onImportSucceeded:()V // method@022a │ │ +01017e: 6e10 8800 0600 |0031: invoke-virtual {v6}, Landroid/os/Parcel;.writeNoException:()V // method@0088 │ │ +010184: 28d4 |0034: goto 0008 // -002c │ │ +010186: 0000 |0035: nop // spacer │ │ +010188: 0002 0300 0100 0000 0200 0000 4654 ... |0036: sparse-switch-data (14 units) │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=38 │ │ + 0x0004 line=67 │ │ + 0x0009 line=42 │ │ + 0x000f line=47 │ │ + 0x0014 line=48 │ │ + 0x0018 line=49 │ │ + 0x001b line=50 │ │ + 0x001d line=51 │ │ + 0x0020 line=52 │ │ + 0x0024 line=55 │ │ + 0x0029 line=61 │ │ + 0x002e line=62 │ │ + 0x0031 line=63 │ │ + 0x0035 line=38 │ │ + locals : │ │ + 0x0018 - 0x0029 reg=0 _result Landroid/os/Bundle; │ │ + 0x0000 - 0x0044 reg=3 this Lcom/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub; │ │ + 0x0000 - 0x0044 reg=4 code I │ │ + 0x0000 - 0x0044 reg=5 data Landroid/os/Parcel; │ │ + 0x0000 - 0x0044 reg=6 reply Landroid/os/Parcel; │ │ + 0x0000 - 0x0044 reg=7 flags I │ │ + │ │ + source_file_idx : 161 (IExportServiceV2.java) │ │ + │ │ +Class #103 header: │ │ +class_idx : 155 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 243 │ │ +source_file_idx : 128 │ │ +static_fields_size : 3 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 8 │ │ +virtual_methods_size: 1 │ │ + │ │ +Class #103 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection; } │ │ + │ │ +Class #103 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/dataimport/ImportController;' │ │ + Static fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'LOG_TAG' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "ImportController" │ │ + #1 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'OLD_APP_EXPORT_SERVICE_CLASS_NAME' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "com.google.android.apps.authenticator.dataexport.ExportServiceV2" │ │ + #2 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'OLD_APP_PACKAGE_NAME' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : "com.google.android.apps.authenticator" │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +0101a4: |[0101a4] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.:()V │ │ +0101b4: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +0101ba: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=45 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'access$100' │ │ + type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +0101bc: |[0101bc] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.access$100:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ +0101cc: 7110 3702 0000 |0000: invoke-static {v0}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerDataImported:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0237 │ │ +0101d2: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=37 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'access$200' │ │ + type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +0101d4: |[0101d4] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.access$200:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ +0101e4: 7110 3902 0000 |0000: invoke-static {v0}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerUninstallOldAppSuggested:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0239 │ │ +0101ea: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=37 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'access$300' │ │ + type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +0101ec: |[0101ec] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.access$300:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ +0101fc: 7110 3802 0000 |0000: invoke-static {v0}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerFinished:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0238 │ │ +010202: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=37 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ + │ │ + #4 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'getOldAppVersionCode' │ │ + type : '()I' │ │ + access : 0x000a (PRIVATE STATIC) │ │ + code - │ │ + registers : 5 │ │ + ins : 0 │ │ + outs : 3 │ │ + insns size : 17 16-bit code units │ │ +010204: |[010204] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.getOldAppVersionCode:()I │ │ +010214: 7100 6a02 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getPackageManager:()Landroid/content/pm/PackageManager; // method@026a │ │ +01021a: 0c02 |0003: move-result-object v2 │ │ +01021c: 1a03 7903 |0004: const-string v3, "com.google.android.apps.authenticator" // string@0379 │ │ +010220: 1204 |0006: const/4 v4, #int 0 // #0 │ │ +010222: 6e30 4700 3204 |0007: invoke-virtual {v2, v3, v4}, Landroid/content/pm/PackageManager;.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo; // method@0047 │ │ +010228: 0c01 |000a: move-result-object v1 │ │ +01022a: 5212 0100 |000b: iget v2, v1, Landroid/content/pm/PackageInfo;.versionCode:I // field@0001 │ │ +01022e: 0f02 |000d: return v2 │ │ +010230: 0d00 |000e: move-exception v0 │ │ +010232: 12f2 |000f: const/4 v2, #int -1 // #ff │ │ +010234: 28fd |0010: goto 000d // -0003 │ │ + catches : 1 │ │ + 0x0000 - 0x000d │ │ + Landroid/content/pm/PackageManager$NameNotFoundException; -> 0x000e │ │ + positions : │ │ + 0x0000 line=149 │ │ + 0x000b line=151 │ │ + 0x000d line=153 │ │ + 0x000e line=152 │ │ + 0x000f line=153 │ │ + locals : │ │ + 0x000f - 0x0011 reg=0 e Landroid/content/pm/PackageManager$NameNotFoundException; │ │ + 0x000b - 0x0011 reg=1 oldAppPackageInfo Landroid/content/pm/PackageInfo; │ │ + │ │ + #5 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'notifyListenerDataImported' │ │ + type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ + access : 0x000a (PRIVATE STATIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 6 16-bit code units │ │ +010244: |[010244] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.notifyListenerDataImported:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ +010254: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ +010258: 7210 3b02 0000 |0002: invoke-interface {v0}, Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;.onDataImported:()V // method@023b │ │ +01025e: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=158 │ │ + 0x0002 line=159 │ │ + 0x0005 line=161 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=0 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ + │ │ + #6 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'notifyListenerFinished' │ │ + type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ + access : 0x000a (PRIVATE STATIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 6 16-bit code units │ │ +010260: |[010260] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.notifyListenerFinished:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ +010270: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ +010274: 7210 3c02 0000 |0002: invoke-interface {v0}, Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;.onFinished:()V // method@023c │ │ +01027a: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=171 │ │ + 0x0002 line=172 │ │ + 0x0005 line=174 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=0 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ + │ │ + #7 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'notifyListenerUninstallOldAppSuggested' │ │ + type : '(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ + access : 0x000a (PRIVATE STATIC) │ │ + code - │ │ + registers : 4 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 19 16-bit code units │ │ +01027c: |[01027c] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.notifyListenerUninstallOldAppSuggested:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ +01028c: 3803 1200 |0000: if-eqz v3, 0012 // +0012 │ │ +010290: 2200 1700 |0002: new-instance v0, Landroid/content/Intent; // type@0017 │ │ +010294: 1a01 1503 |0004: const-string v1, "android.intent.action.DELETE" // string@0315 │ │ +010298: 1a02 9605 |0006: const-string v2, "package:com.google.android.apps.authenticator" // string@0596 │ │ +01029c: 7110 6c00 0200 |0008: invoke-static {v2}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006c │ │ +0102a2: 0c02 |000b: move-result-object v2 │ │ +0102a4: 7030 3100 1002 |000c: invoke-direct {v0, v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0031 │ │ +0102aa: 7220 3d02 0300 |000f: invoke-interface {v3, v0}, Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;.onOldAppUninstallSuggested:(Landroid/content/Intent;)V // method@023d │ │ +0102b0: 0e00 |0012: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=164 │ │ + 0x0002 line=165 │ │ + 0x0008 line=166 │ │ + 0x000f line=165 │ │ + 0x0012 line=168 │ │ + locals : │ │ + 0x0000 - 0x0013 reg=3 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;) │ │ + name : 'start' │ │ + type : '(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 10 │ │ + ins : 3 │ │ + outs : 5 │ │ + insns size : 85 16-bit code units │ │ +0102b4: |[0102b4] com.google.android.apps.authenticator.dataimport.ExportServiceBasedImportController.start:(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ +0102c4: 7100 3602 0000 |0000: invoke-static {}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.getOldAppVersionCode:()I // method@0236 │ │ +0102ca: 0a02 |0003: move-result v2 │ │ +0102cc: 12f4 |0004: const/4 v4, #int -1 // #ff │ │ +0102ce: 3342 0d00 |0005: if-ne v2, v4, 0012 // +000d │ │ +0102d2: 1a04 b200 |0007: const-string v4, "ImportController" // string@00b2 │ │ +0102d6: 1a05 6902 |0009: const-string v5, "Skipping importing because the old app is not installed" // string@0269 │ │ +0102da: 7120 9700 5400 |000b: invoke-static {v4, v5}, Landroid/util/Log;.d:(Ljava/lang/String;Ljava/lang/String;)I // method@0097 │ │ +0102e0: 7110 3802 0900 |000e: invoke-static {v9}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerFinished:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0238 │ │ +0102e6: 0e00 |0011: return-void │ │ +0102e8: 2201 1700 |0012: new-instance v1, Landroid/content/Intent; // type@0017 │ │ +0102ec: 7010 2e00 0100 |0014: invoke-direct {v1}, Landroid/content/Intent;.:()V // method@002e │ │ +0102f2: 2204 0f00 |0017: new-instance v4, Landroid/content/ComponentName; // type@000f │ │ +0102f6: 1a05 7903 |0019: const-string v5, "com.google.android.apps.authenticator" // string@0379 │ │ +0102fa: 1a06 7a03 |001b: const-string v6, "com.google.android.apps.authenticator.dataexport.ExportServiceV2" // string@037a │ │ +0102fe: 7030 1d00 5406 |001d: invoke-direct {v4, v5, v6}, Landroid/content/ComponentName;.:(Ljava/lang/String;Ljava/lang/String;)V // method@001d │ │ +010304: 6e20 3c00 4100 |0020: invoke-virtual {v1, v4}, Landroid/content/Intent;.setComponent:(Landroid/content/ComponentName;)Landroid/content/Intent; // method@003c │ │ +01030a: 2203 9a00 |0023: new-instance v3, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection; // type@009a │ │ +01030e: 1204 |0025: const/4 v4, #int 0 // #0 │ │ +010310: 7054 2f02 7398 |0026: invoke-direct {v3, v7, v8, v9, v4}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;.:(Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1;)V // method@022f │ │ +010316: 1214 |0029: const/4 v4, #int 1 // #1 │ │ +010318: 6e40 2100 1843 |002a: invoke-virtual {v8, v1, v3, v4}, Landroid/content/Context;.bindService:(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z // method@0021 │ │ +01031e: 0a00 |002d: move-result v0 │ │ +010320: 3900 e3ff |002e: if-nez v0, 0011 // -001d │ │ +010324: 1a04 b200 |0030: const-string v4, "ImportController" // string@00b2 │ │ +010328: 2205 f900 |0032: new-instance v5, Ljava/lang/StringBuilder; // type@00f9 │ │ +01032c: 7010 5303 0500 |0034: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@0353 │ │ +010332: 1a06 2e02 |0037: const-string v6, "Not importing because the old app is too old (" // string@022e │ │ +010336: 6e20 5a03 6500 |0039: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +01033c: 0c05 |003c: move-result-object v5 │ │ +01033e: 6e20 5703 2500 |003d: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0357 │ │ +010344: 0c05 |0040: move-result-object v5 │ │ +010346: 1a06 1400 |0041: const-string v6, ") and can't export" // string@0014 │ │ +01034a: 6e20 5a03 6500 |0043: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@035a │ │ +010350: 0c05 |0046: move-result-object v5 │ │ +010352: 6e10 5b03 0500 |0047: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@035b │ │ +010358: 0c05 |004a: move-result-object v5 │ │ +01035a: 7120 9900 5400 |004b: invoke-static {v4, v5}, Landroid/util/Log;.i:(Ljava/lang/String;Ljava/lang/String;)I // method@0099 │ │ +010360: 6e20 2b00 3800 |004e: invoke-virtual {v8, v3}, Landroid/content/Context;.unbindService:(Landroid/content/ServiceConnection;)V // method@002b │ │ +010366: 7110 3802 0900 |0051: invoke-static {v9}, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController;.notifyListenerFinished:(Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V // method@0238 │ │ +01036c: 28bd |0054: goto 0011 // -0043 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=49 │ │ + 0x0004 line=50 │ │ + 0x0007 line=51 │ │ + 0x000e line=52 │ │ + 0x0011 line=70 │ │ + 0x0012 line=56 │ │ + 0x0017 line=57 │ │ + 0x0023 line=58 │ │ + 0x0029 line=59 │ │ + 0x002e line=60 │ │ + 0x0030 line=61 │ │ + 0x004e line=63 │ │ + 0x0051 line=64 │ │ + locals : │ │ + 0x002e - 0x0055 reg=0 bound Z │ │ + 0x0017 - 0x0055 reg=1 intent Landroid/content/Intent; │ │ + 0x0004 - 0x0055 reg=2 oldAppVersionCode I │ │ + 0x0029 - 0x0055 reg=3 serviceConnection Landroid/content/ServiceConnection; │ │ + 0x0000 - 0x0055 reg=7 this Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController; │ │ + 0x0000 - 0x0055 reg=8 context Landroid/content/Context; │ │ + 0x0000 - 0x0055 reg=9 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ + │ │ + source_file_idx : 128 (ExportServiceBasedImportController.java) │ │ + │ │ +Class #104 header: │ │ +class_idx : 164 │ │ +access_flags : 16 (0x0010) │ │ +superclass_idx : 243 │ │ +source_file_idx : 122 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 1 │ │ + │ │ +Class #104 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingMethod; value=getDataImportController │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name=null │ │ + │ │ +Class #104 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/testability/DependencyInjector$1;' │ │ + Access flags : 0x0010 (FINAL) │ │ + Superclass : 'Ljava/lang/Object;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/dataimport/ImportController;' │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/testability/DependencyInjector$1;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10000 (CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +010370: |[010370] com.google.android.apps.authenticator.testability.DependencyInjector$1.:()V │ │ +010380: 7010 3a03 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@033a │ │ +010386: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=179 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/testability/DependencyInjector$1; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/testability/DependencyInjector$1;) │ │ + name : 'start' │ │ + type : '(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 3 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +010388: |[010388] com.google.android.apps.authenticator.testability.DependencyInjector$1.start:(Landroid/content/Context;Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;)V │ │ +010398: 0e00 |0000: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=181 │ │ + locals : │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/testability/DependencyInjector$1; │ │ + 0x0000 - 0x0001 reg=1 context Landroid/content/Context; │ │ + 0x0000 - 0x0001 reg=2 listener Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener; │ │ + │ │ + source_file_idx : 122 (DependencyInjector.java) │ │ + │ │ +Class #105 header: │ │ +class_idx : 174 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 171 │ │ +source_file_idx : 613 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 1 │ │ + │ │ +Class #105 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +01039c: |[01039c] com.google.android.apps.authenticator.timesync.SettingsTimeCorrectionActivity.:()V │ │ +0103ac: 7010 8a02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.:()V // method@028a │ │ +0103b2: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=29 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 10 16-bit code units │ │ +0103b4: |[0103b4] com.google.android.apps.authenticator.timesync.SettingsTimeCorrectionActivity.onCreate:(Landroid/os/Bundle;)V │ │ +0103c4: 6f20 8b02 2100 |0000: invoke-super {v1, v2}, Lcom/google/android/apps/authenticator/testability/TestablePreferenceActivity;.onCreate:(Landroid/os/Bundle;)V // method@028b │ │ +0103ca: 1400 0200 047f |0003: const v0, #float 1.75458e+38 // #7f040002 │ │ +0103d0: 6e20 9902 0100 |0006: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity;.addPreferencesFromResource:(I)V // method@0299 │ │ +0103d6: 0e00 |0009: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=33 │ │ + 0x0003 line=35 │ │ + 0x0009 line=36 │ │ + locals : │ │ + 0x0000 - 0x000a reg=1 this Lcom/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity; │ │ + 0x0000 - 0x000a reg=2 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + source_file_idx : 613 (SettingsTimeCorrectionActivity.java) │ │ + │ │ +Class #106 header: │ │ +class_idx : 180 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 8 │ │ +source_file_idx : 625 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 2 │ │ +direct_methods_size : 4 │ │ +virtual_methods_size: 6 │ │ + │ │ +Class #106 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Landroid/app/Activity;' │ │ + Interfaces - │ │ + #0 : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;' │ │ + Static fields - │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'mController' │ │ + type : 'Lcom/google/android/apps/authenticator/timesync/SyncNowController;' │ │ + access : 0x0002 (PRIVATE) │ │ + #1 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'mProgressDialog' │ │ + type : 'Landroid/app/Dialog;' │ │ + access : 0x0002 (PRIVATE) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +0103d8: |[0103d8] com.google.android.apps.authenticator.timesync.SyncNowActivity.:()V │ │ +0103e8: 7010 0200 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0002 │ │ +0103ee: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=36 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'access$000' │ │ + type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)Lcom/google/android/apps/authenticator/timesync/SyncNowController;' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +0103f0: |[0103f0] com.google.android.apps.authenticator.timesync.SyncNowActivity.access$000:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ +010400: 5410 d500 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ +010404: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=36 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 x0 Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'dismissInProgressDialog' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 13 16-bit code units │ │ +010408: |[010408] com.google.android.apps.authenticator.timesync.SyncNowActivity.dismissInProgressDialog:()V │ │ +010418: 5410 d600 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ +01041c: 3800 0a00 |0002: if-eqz v0, 000c // +000a │ │ +010420: 5410 d600 |0004: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ +010424: 6e10 1800 0000 |0006: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0018 │ │ +01042a: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +01042c: 5b10 d600 |000a: iput-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ +010430: 0e00 |000c: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=183 │ │ + 0x0004 line=184 │ │ + 0x0009 line=185 │ │ + 0x000c line=187 │ │ + locals : │ │ + 0x0000 - 0x000d reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'showInProgressDialog' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 4 │ │ + ins : 1 │ │ + outs : 5 │ │ + insns size : 32 16-bit code units │ │ +010434: |[010434] com.google.android.apps.authenticator.timesync.SyncNowActivity.showInProgressDialog:()V │ │ +010444: 1212 |0000: const/4 v2, #int 1 // #1 │ │ +010446: 1400 4c00 067f |0001: const v0, #float 1.78118e+38 // #7f06004c │ │ +01044c: 6e20 a902 0300 |0004: invoke-virtual {v3, v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.getString:(I)Ljava/lang/String; // method@02a9 │ │ +010452: 0c00 |0007: move-result-object v0 │ │ +010454: 1401 4d00 067f |0008: const v1, #float 1.78118e+38 // #7f06004d │ │ +01045a: 6e20 a902 1300 |000b: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.getString:(I)Ljava/lang/String; // method@02a9 │ │ +010460: 0c01 |000e: move-result-object v1 │ │ +010462: 7152 1b00 0321 |000f: invoke-static {v3, v0, v1, v2, v2}, Landroid/app/ProgressDialog;.show:(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZZ)Landroid/app/ProgressDialog; // method@001b │ │ +010468: 0c00 |0012: move-result-object v0 │ │ +01046a: 5b30 d600 |0013: iput-object v0, v3, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ +01046e: 5430 d600 |0015: iget-object v0, v3, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mProgressDialog:Landroid/app/Dialog; // field@00d6 │ │ +010472: 2201 b200 |0017: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4; // type@00b2 │ │ +010476: 7020 a102 3100 |0019: invoke-direct {v1, v3}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V // method@02a1 │ │ +01047c: 6e20 1900 1000 |001c: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setOnCancelListener:(Landroid/content/DialogInterface$OnCancelListener;)V // method@0019 │ │ +010482: 0e00 |001f: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0001 line=162 │ │ + 0x0004 line=164 │ │ + 0x000b line=165 │ │ + 0x000f line=162 │ │ + 0x0015 line=168 │ │ + 0x001f line=174 │ │ + locals : │ │ + 0x0000 - 0x0020 reg=3 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'onBackPressed' │ │ + type : '()V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 6 16-bit code units │ │ +010484: |[010484] com.google.android.apps.authenticator.timesync.SyncNowActivity.onBackPressed:()V │ │ +010494: 5410 d500 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ +010498: 6e20 c702 1000 |0002: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.abort:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V // method@02c7 │ │ +01049e: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=80 │ │ + 0x0005 line=81 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 6 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 44 16-bit code units │ │ +0104a0: |[0104a0] com.google.android.apps.authenticator.timesync.SyncNowActivity.onCreate:(Landroid/os/Bundle;)V │ │ +0104b0: 6f20 0300 5400 |0000: invoke-super {v4, v5}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0003 │ │ +0104b6: 6e10 a802 0400 |0003: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.getLastNonConfigurationInstance:()Ljava/lang/Object; // method@02a8 │ │ +0104bc: 0c00 |0006: move-result-object v0 │ │ +0104be: 3800 1000 |0007: if-eqz v0, 0017 // +0010 │ │ +0104c2: 6e10 a802 0400 |0009: invoke-virtual {v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.getLastNonConfigurationInstance:()Ljava/lang/Object; // method@02a8 │ │ +0104c8: 0c00 |000c: move-result-object v0 │ │ +0104ca: 1f00 bc00 |000d: check-cast v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController; // type@00bc │ │ +0104ce: 5b40 d500 |000f: iput-object v0, v4, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ +0104d2: 5440 d500 |0011: iget-object v0, v4, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ +0104d6: 6e20 cc02 4000 |0013: invoke-virtual {v0, v4}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.attach:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V // method@02cc │ │ +0104dc: 0e00 |0016: return-void │ │ +0104de: 2200 bc00 |0017: new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController; // type@00bc │ │ +0104e2: 7100 6c02 0000 |0019: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getTotpClock:()Lcom/google/android/apps/authenticator/TotpClock; // method@026c │ │ +0104e8: 0c01 |001c: move-result-object v1 │ │ +0104ea: 2202 ad00 |001d: new-instance v2, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; // type@00ad │ │ +0104ee: 7100 6702 0000 |001f: invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;.getHttpClient:()Lorg/apache/http/client/HttpClient; // method@0267 │ │ +0104f4: 0c03 |0022: move-result-object v3 │ │ +0104f6: 7020 9602 3200 |0023: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;.:(Lorg/apache/http/client/HttpClient;)V // method@0296 │ │ +0104fc: 7030 c502 1002 |0026: invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.:(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;)V // method@02c5 │ │ +010502: 5b40 d500 |0029: iput-object v0, v4, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ +010506: 28e6 |002b: goto 0011 // -001a │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=52 │ │ + 0x0003 line=54 │ │ + 0x0009 line=55 │ │ + 0x0011 line=62 │ │ + 0x0016 line=63 │ │ + 0x0017 line=57 │ │ + 0x0019 line=58 │ │ + 0x001f line=59 │ │ + locals : │ │ + 0x0000 - 0x002c reg=4 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + 0x0000 - 0x002c reg=5 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'onDone' │ │ + type : '(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 7 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 192 16-bit code units │ │ +010508: |[010508] com.google.android.apps.authenticator.timesync.SyncNowActivity.onDone:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;)V │ │ +010518: 1404 9b00 0801 |0000: const v4, #float 2.49797e-38 // #0108009b │ │ +01051e: 1403 3700 067f |0003: const v3, #float 1.78118e+38 // #7f060037 │ │ +010524: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +010526: 6e10 aa02 0500 |0007: invoke-virtual {v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.isFinishing:()Z // method@02aa │ │ +01052c: 0a00 |000a: move-result v0 │ │ +01052e: 3800 0300 |000b: if-eqz v0, 000e // +0003 │ │ +010532: 0e00 |000d: return-void │ │ +010534: 7010 a602 0500 |000e: invoke-direct {v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.dismissInProgressDialog:()V // method@02a6 │ │ +01053a: 6200 d400 |0011: sget-object v0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5;.$SwitchMap$com$google$android$apps$authenticator$timesync$SyncNowController$Result:[I // field@00d4 │ │ +01053e: 6e10 bd02 0600 |0013: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result;.ordinal:()I // method@02bd │ │ +010544: 0a01 |0016: move-result v1 │ │ +010546: 4400 0001 |0017: aget v0, v0, v1 │ │ +01054a: 2b00 9b00 0000 |0019: packed-switch v0, 000000b4 // +0000009b │ │ +010550: 2200 e900 |001c: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ +010554: 7110 5203 0600 |001e: invoke-static {v6}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ +01055a: 0c01 |0021: move-result-object v1 │ │ +01055c: 7020 2603 1000 |0022: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ +010562: 2700 |0025: throw v0 │ │ +010564: 2200 0900 |0026: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0009 │ │ +010568: 7020 0700 5000 |0028: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ +01056e: 6e20 0900 2000 |002b: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@0009 │ │ +010574: 0c00 |002e: move-result-object v0 │ │ +010576: 1401 5000 067f |002f: const v1, #float 1.78118e+38 // #7f060050 │ │ +01057c: 6e20 1000 1000 |0032: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ +010582: 0c00 |0035: move-result-object v0 │ │ +010584: 1401 5100 067f |0036: const v1, #float 1.78118e+38 // #7f060051 │ │ +01058a: 6e20 0b00 1000 |0039: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ +010590: 0c00 |003c: move-result-object v0 │ │ +010592: 6e20 0a00 4000 |003d: invoke-virtual {v0, v4}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ +010598: 0c00 |0040: move-result-object v0 │ │ +01059a: 2201 af00 |0041: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1; // type@00af │ │ +01059e: 7020 9b02 5100 |0043: invoke-direct {v1, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V // method@029b │ │ +0105a4: 6e30 0e00 3001 |0046: invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;.setNeutralButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e │ │ +0105aa: 0c00 |0049: move-result-object v0 │ │ +0105ac: 6e10 0800 0000 |004a: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ +0105b2: 0c00 |004d: move-result-object v0 │ │ +0105b4: 6e10 1400 0000 |004e: invoke-virtual {v0}, Landroid/app/AlertDialog;.show:()V // method@0014 │ │ +0105ba: 28bc |0051: goto 000d // -0044 │ │ +0105bc: 2200 0900 |0052: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0009 │ │ +0105c0: 7020 0700 5000 |0054: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ +0105c6: 6e20 0900 2000 |0057: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@0009 │ │ +0105cc: 0c00 |005a: move-result-object v0 │ │ +0105ce: 1401 4e00 067f |005b: const v1, #float 1.78118e+38 // #7f06004e │ │ +0105d4: 6e20 1000 1000 |005e: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ +0105da: 0c00 |0061: move-result-object v0 │ │ +0105dc: 1401 4f00 067f |0062: const v1, #float 1.78118e+38 // #7f06004f │ │ +0105e2: 6e20 0b00 1000 |0065: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ +0105e8: 0c00 |0068: move-result-object v0 │ │ +0105ea: 6e20 0a00 4000 |0069: invoke-virtual {v0, v4}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ +0105f0: 0c00 |006c: move-result-object v0 │ │ +0105f2: 2201 b000 |006d: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2; // type@00b0 │ │ +0105f6: 7020 9d02 5100 |006f: invoke-direct {v1, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V // method@029d │ │ +0105fc: 6e30 0e00 3001 |0072: invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;.setNeutralButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e │ │ +010602: 0c00 |0075: move-result-object v0 │ │ +010604: 6e10 0800 0000 |0076: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ +01060a: 0c00 |0079: move-result-object v0 │ │ +01060c: 6e10 1400 0000 |007a: invoke-virtual {v0}, Landroid/app/AlertDialog;.show:()V // method@0014 │ │ +010612: 2890 |007d: goto 000d // -0070 │ │ +010614: 2200 0900 |007e: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0009 │ │ +010618: 7020 0700 5000 |0080: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0007 │ │ +01061e: 6e20 0900 2000 |0083: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@0009 │ │ +010624: 0c00 |0086: move-result-object v0 │ │ +010626: 1401 5200 067f |0087: const v1, #float 1.78118e+38 // #7f060052 │ │ +01062c: 6e20 1000 1000 |008a: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setTitle:(I)Landroid/app/AlertDialog$Builder; // method@0010 │ │ +010632: 0c00 |008d: move-result-object v0 │ │ +010634: 1401 5300 067f |008e: const v1, #float 1.78118e+38 // #7f060053 │ │ +01063a: 6e20 0b00 1000 |0091: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(I)Landroid/app/AlertDialog$Builder; // method@000b │ │ +010640: 0c00 |0094: move-result-object v0 │ │ +010642: 1401 2700 0801 |0095: const v1, #float 2.49794e-38 // #01080027 │ │ +010648: 6e20 0a00 1000 |0098: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setIcon:(I)Landroid/app/AlertDialog$Builder; // method@000a │ │ +01064e: 0c00 |009b: move-result-object v0 │ │ +010650: 2201 b100 |009c: new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3; // type@00b1 │ │ +010654: 7020 9f02 5100 |009e: invoke-direct {v1, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;.:(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V // method@029f │ │ +01065a: 6e30 0e00 3001 |00a1: invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;.setNeutralButton:(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e │ │ +010660: 0c00 |00a4: move-result-object v0 │ │ +010662: 6e10 0800 0000 |00a5: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.create:()Landroid/app/AlertDialog; // method@0008 │ │ +010668: 0c00 |00a8: move-result-object v0 │ │ +01066a: 6e10 1400 0000 |00a9: invoke-virtual {v0}, Landroid/app/AlertDialog;.show:()V // method@0014 │ │ +010670: 2900 61ff |00ac: goto/16 000d // -009f │ │ +010674: 6e10 a702 0500 |00ae: invoke-virtual {v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.finish:()V // method@02a7 │ │ +01067a: 2900 5cff |00b1: goto/16 000d // -00a4 │ │ +01067e: 0000 |00b3: nop // spacer │ │ +010680: 0001 0400 0100 0000 0d00 0000 3900 ... |00b4: packed-switch-data (12 units) │ │ + catches : (none) │ │ + positions : │ │ + 0x0007 line=97 │ │ + 0x000d line=156 │ │ + 0x000e line=102 │ │ + 0x0011 line=104 │ │ + 0x001c line=154 │ │ + 0x0026 line=106 │ │ + 0x002b line=107 │ │ + 0x0032 line=108 │ │ + 0x0039 line=109 │ │ + 0x003d line=110 │ │ + 0x0046 line=111 │ │ + 0x004a line=117 │ │ + 0x004e line=118 │ │ + 0x0052 line=121 │ │ + 0x0057 line=122 │ │ + 0x005e line=123 │ │ + 0x0065 line=124 │ │ + 0x0069 line=125 │ │ + 0x0072 line=126 │ │ + 0x0076 line=132 │ │ + 0x007a line=133 │ │ + 0x007e line=136 │ │ + 0x0083 line=137 │ │ + 0x008a line=138 │ │ + 0x0091 line=139 │ │ + 0x0098 line=140 │ │ + 0x00a1 line=141 │ │ + 0x00a5 line=147 │ │ + 0x00a9 line=148 │ │ + 0x00ae line=151 │ │ + 0x00b3 line=104 │ │ + locals : │ │ + 0x0000 - 0x00c0 reg=5 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + 0x0000 - 0x00c0 reg=6 result Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'onRetainNonConfigurationInstance' │ │ + type : '()Ljava/lang/Object;' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +010698: |[010698] com.google.android.apps.authenticator.timesync.SyncNowActivity.onRetainNonConfigurationInstance:()Ljava/lang/Object; │ │ +0106a8: 5410 d500 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ +0106ac: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=75 │ │ + locals : │ │ + 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + │ │ + #4 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'onStarted' │ │ + type : '()V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 11 16-bit code units │ │ +0106b0: |[0106b0] com.google.android.apps.authenticator.timesync.SyncNowActivity.onStarted:()V │ │ +0106c0: 6e10 aa02 0100 |0000: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.isFinishing:()Z // method@02aa │ │ +0106c6: 0a00 |0003: move-result v0 │ │ +0106c8: 3800 0300 |0004: if-eqz v0, 0007 // +0003 │ │ +0106cc: 0e00 |0006: return-void │ │ +0106ce: 7010 b102 0100 |0007: invoke-direct {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.showInProgressDialog:()V // method@02b1 │ │ +0106d4: 28fc |000a: goto 0006 // -0004 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=87 │ │ + 0x0006 line=93 │ │ + 0x0007 line=92 │ │ + locals : │ │ + 0x0000 - 0x000b reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + │ │ + #5 : (in Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;) │ │ + name : 'onStop' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 15 16-bit code units │ │ +0106d8: |[0106d8] com.google.android.apps.authenticator.timesync.SyncNowActivity.onStop:()V │ │ +0106e8: 6e10 aa02 0100 |0000: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.isFinishing:()Z // method@02aa │ │ +0106ee: 0a00 |0003: move-result v0 │ │ +0106f0: 3800 0700 |0004: if-eqz v0, 000b // +0007 │ │ +0106f4: 5410 d500 |0006: iget-object v0, v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;.mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; // field@00d5 │ │ +0106f8: 6e20 cd02 1000 |0008: invoke-virtual {v0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;.detach:(Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;)V // method@02cd │ │ +0106fe: 6f10 0400 0100 |000b: invoke-super {v1}, Landroid/app/Activity;.onStop:()V // method@0004 │ │ +010704: 0e00 |000e: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=67 │ │ + 0x0006 line=68 │ │ + 0x000b line=70 │ │ + 0x000e line=71 │ │ + locals : │ │ + 0x0000 - 0x000f reg=1 this Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ + │ │ + source_file_idx : 625 (SyncNowActivity.java) │ │ + │ │ +Class #107 header: │ │ +class_idx : 194 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 170 │ │ +source_file_idx : 696 │ │ +static_fields_size : 1 │ │ +instance_fields_size: 12 │ │ +direct_methods_size : 2 │ │ +virtual_methods_size: 20 │ │ + │ │ +Class #107 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; } │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "" "Lcom/google/android/apps/authenticator/testability/TestableActivity;" } │ │ +Annotations on field #258 'mWizardState' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "TWizardState;" } │ │ +Annotations on method #736 'checkWizardStateValidity' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(TWizardState;)V" } │ │ +Annotations on method #744 'getWizardState' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "()TWizardState;" } │ │ +Annotations on method #745 'getWizardStateFromIntent' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Landroid/content/Intent;" ")TWizardState;" } │ │ +Annotations on method #760 'setWizardState' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(TWizardState;)V" } │ │ +Annotations on method #764 'startPageActivity' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/Class" "<+" "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" ";>;)V" } │ │ +Annotations on method #765 'startPageActivityForResult' │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/Class" "<+" "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" ";>;I)V" } │ │ + │ │ +Class #107 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/testability/TestableActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'KEY_WIZARD_STATE' │ │ + type : 'Ljava/lang/String;' │ │ + access : 0x0019 (PUBLIC STATIC FINAL) │ │ + value : "wizardState" │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mButtonBarType' │ │ + type : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;' │ │ + access : 0x0002 (PRIVATE) │ │ + #1 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mButtonBarTypeBeforeInlineProgressDisplayed' │ │ + type : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;' │ │ + access : 0x0002 (PRIVATE) │ │ + #2 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mCancelButton' │ │ + type : 'Landroid/view/View;' │ │ + access : 0x0004 (PROTECTED) │ │ + #3 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mCancelButtonOnlyBar' │ │ + type : 'Landroid/view/View;' │ │ + access : 0x0002 (PRIVATE) │ │ + #4 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mInlineProgressView' │ │ + type : 'Landroid/view/View;' │ │ + access : 0x0002 (PRIVATE) │ │ + #5 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mLeftButton' │ │ + type : 'Landroid/widget/Button;' │ │ + access : 0x0004 (PROTECTED) │ │ + #6 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mLeftRightButtonBar' │ │ + type : 'Landroid/view/View;' │ │ + access : 0x0002 (PRIVATE) │ │ + #7 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mMiddleButton' │ │ + type : 'Landroid/widget/Button;' │ │ + access : 0x0004 (PROTECTED) │ │ + #8 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mMiddleButtonOnlyBar' │ │ + type : 'Landroid/view/View;' │ │ + access : 0x0002 (PRIVATE) │ │ + #9 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mPageContentView' │ │ + type : 'Landroid/view/ViewGroup;' │ │ + access : 0x0002 (PRIVATE) │ │ + #10 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mRightButton' │ │ + type : 'Landroid/widget/Button;' │ │ + access : 0x0004 (PROTECTED) │ │ + #11 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'mWizardState' │ │ + type : 'Ljava/io/Serializable;' │ │ + access : 0x0002 (PRIVATE) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +010708: |[010708] com.google.android.apps.authenticator.wizard.WizardPageActivity.:()V │ │ +010718: 7010 7e02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.:()V // method@027e │ │ +01071e: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=49 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'setButtonBarType' │ │ + type : '(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 6 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 84 16-bit code units │ │ +010720: |[010720] com.google.android.apps.authenticator.wizard.WizardPageActivity.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V │ │ +010730: 1203 |0000: const/4 v3, #int 0 // #0 │ │ +010732: 1302 0800 |0001: const/16 v2, #int 8 // #8 │ │ +010736: 5b45 f700 |0003: iput-object v5, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarType:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f7 │ │ +01073a: 6200 f100 |0005: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;.$SwitchMap$com$google$android$apps$authenticator$wizard$WizardPageActivity$ButtonBarType:[I // field@00f1 │ │ +01073e: 6e10 dc02 0500 |0007: invoke-virtual {v5}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.ordinal:()I // method@02dc │ │ +010744: 0a01 |000a: move-result v1 │ │ +010746: 4400 0001 |000b: aget v0, v0, v1 │ │ +01074a: 2b00 3d00 0000 |000d: packed-switch v0, 0000004a // +0000003d │ │ +010750: 2200 e900 |0010: new-instance v0, Ljava/lang/IllegalArgumentException; // type@00e9 │ │ +010754: 7110 5203 0500 |0012: invoke-static {v5}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@0352 │ │ +01075a: 0c01 |0015: move-result-object v1 │ │ +01075c: 7020 2603 1000 |0016: invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0326 │ │ +010762: 2700 |0019: throw v0 │ │ +010764: 5440 fd00 |001a: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ +010768: 6e20 ab00 3000 |001c: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +01076e: 5440 ff00 |001f: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButtonOnlyBar:Landroid/view/View; // field@00ff │ │ +010772: 6e20 ab00 2000 |0021: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +010778: 5440 fa00 |0024: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButtonOnlyBar:Landroid/view/View; // field@00fa │ │ +01077c: 6e20 ab00 2000 |0026: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +010782: 0e00 |0029: return-void │ │ +010784: 5440 ff00 |002a: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButtonOnlyBar:Landroid/view/View; // field@00ff │ │ +010788: 6e20 ab00 3000 |002c: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +01078e: 5440 fd00 |002f: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ +010792: 6e20 ab00 2000 |0031: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +010798: 5440 fa00 |0034: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButtonOnlyBar:Landroid/view/View; // field@00fa │ │ +01079c: 6e20 ab00 2000 |0036: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +0107a2: 28f0 |0039: goto 0029 // -0010 │ │ +0107a4: 5440 fa00 |003a: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButtonOnlyBar:Landroid/view/View; // field@00fa │ │ +0107a8: 6e20 ab00 3000 |003c: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +0107ae: 5440 fd00 |003f: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ +0107b2: 6e20 ab00 2000 |0041: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +0107b8: 5440 ff00 |0044: iget-object v0, v4, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButtonOnlyBar:Landroid/view/View; // field@00ff │ │ +0107bc: 6e20 ab00 2000 |0046: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +0107c2: 28e0 |0049: goto 0029 // -0020 │ │ +0107c4: 0001 0300 0100 0000 0d00 0000 1d00 ... |004a: packed-switch-data (10 units) │ │ + catches : (none) │ │ + positions : │ │ + 0x0003 line=237 │ │ + 0x0005 line=238 │ │ + 0x0010 line=255 │ │ + 0x001a line=240 │ │ + 0x001f line=241 │ │ + 0x0024 line=242 │ │ + 0x0029 line=257 │ │ + 0x002a line=245 │ │ + 0x002f line=246 │ │ + 0x0034 line=247 │ │ + 0x003a line=250 │ │ + 0x003f line=251 │ │ + 0x0044 line=252 │ │ + 0x004a line=238 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=4 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0054 reg=4 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0054 reg=5 type Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'checkWizardStateValidity' │ │ + type : '(Ljava/io/Serializable;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +0107d8: |[0107d8] com.google.android.apps.authenticator.wizard.WizardPageActivity.checkWizardStateValidity:(Ljava/io/Serializable;)V │ │ +0107e8: 0e00 |0000: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=302 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0000 reg=1 (null) Ljava/io/Serializable; │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0001 reg=1 wizardState Ljava/io/Serializable; TWizardState; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'dismissInlineProgress' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 12 16-bit code units │ │ +0107ec: |[0107ec] com.google.android.apps.authenticator.wizard.WizardPageActivity.dismissInlineProgress:()V │ │ +0107fc: 5420 f900 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButton:Landroid/view/View; // field@00f9 │ │ +010800: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +010802: 6e20 a900 1000 |0003: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ +010808: 5420 f800 |0006: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarTypeBeforeInlineProgressDisplayed:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f8 │ │ +01080c: 7020 f102 0200 |0008: invoke-direct {v2, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V // method@02f1 │ │ +010812: 0e00 |000b: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=285 │ │ + 0x0006 line=286 │ │ + 0x000b line=287 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000c reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'exitWizard' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 19 16-bit code units │ │ +010814: |[010814] com.google.android.apps.authenticator.wizard.WizardPageActivity.exitWizard:()V │ │ +010824: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ +010828: 1c01 7900 |0002: const-class v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity; // type@0079 │ │ +01082c: 7030 2f00 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ +010832: 1501 0004 |0007: const/high16 v1, #int 67108864 // #400 │ │ +010836: 6e20 3200 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0032 │ │ +01083c: 6e20 fa02 0200 |000c: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.startActivity:(Landroid/content/Intent;)V // method@02fa │ │ +010842: 6e10 e402 0200 |000f: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.finish:()V // method@02e4 │ │ +010848: 0e00 |0012: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=290 │ │ + 0x0007 line=291 │ │ + 0x000c line=292 │ │ + 0x000f line=294 │ │ + 0x0012 line=295 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0007 - 0x0013 reg=0 intent Landroid/content/Intent; │ │ + 0x0000 - 0x0013 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'getWizardState' │ │ + type : '()Ljava/io/Serializable;' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +01084c: |[01084c] com.google.android.apps.authenticator.wizard.WizardPageActivity.getWizardState:()Ljava/io/Serializable; │ │ +01085c: 5410 0201 |0000: iget-object v0, v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mWizardState:Ljava/io/Serializable; // field@0102 │ │ +010860: 1100 |0002: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=136 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0003 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + │ │ + #4 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'getWizardStateFromIntent' │ │ + type : '(Landroid/content/Intent;)Ljava/io/Serializable;' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 11 16-bit code units │ │ +010864: |[010864] com.google.android.apps.authenticator.wizard.WizardPageActivity.getWizardStateFromIntent:(Landroid/content/Intent;)Ljava/io/Serializable; │ │ +010874: 3802 0900 |0000: if-eqz v2, 0009 // +0009 │ │ +010878: 1a00 ea06 |0002: const-string v0, "wizardState" // string@06ea │ │ +01087c: 6e20 3600 0200 |0004: invoke-virtual {v2, v0}, Landroid/content/Intent;.getSerializableExtra:(Ljava/lang/String;)Ljava/io/Serializable; // method@0036 │ │ +010882: 0c00 |0007: move-result-object v0 │ │ +010884: 1100 |0008: return-object v0 │ │ +010886: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +010888: 28fe |000a: goto 0008 // -0002 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=200 │ │ + 0x0004 line=201 │ │ + 0x0008 line=200 │ │ + 0x0009 line=201 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000b reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000b reg=2 intent Landroid/content/Intent; │ │ + │ │ + #5 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 5 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 159 16-bit code units │ │ +01088c: |[01088c] com.google.android.apps.authenticator.wizard.WizardPageActivity.onCreate:(Landroid/os/Bundle;)V │ │ +01089c: 6f20 8002 4300 |0000: invoke-super {v3, v4}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onCreate:(Landroid/os/Bundle;)V // method@0280 │ │ +0108a2: 3904 9400 |0003: if-nez v4, 0097 // +0094 │ │ +0108a6: 6e10 e502 0300 |0005: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getIntent:()Landroid/content/Intent; // method@02e5 │ │ +0108ac: 0c01 |0008: move-result-object v1 │ │ +0108ae: 6e20 e902 1300 |0009: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getWizardStateFromIntent:(Landroid/content/Intent;)Ljava/io/Serializable; // method@02e9 │ │ +0108b4: 0c00 |000c: move-result-object v0 │ │ +0108b6: 6e20 e002 0300 |000d: invoke-virtual {v3, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.checkWizardStateValidity:(Ljava/io/Serializable;)V // method@02e0 │ │ +0108bc: 5b30 0201 |0010: iput-object v0, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mWizardState:Ljava/io/Serializable; // field@0102 │ │ +0108c0: 1401 0b00 037f |0012: const v1, #float 1.74129e+38 // #7f03000b │ │ +0108c6: 6e20 f202 1300 |0015: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setContentView:(I)V // method@02f2 │ │ +0108cc: 1401 1b00 0a7f |0018: const v1, #float 1.83434e+38 // #7f0a001b │ │ +0108d2: 6e20 e302 1300 |001b: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +0108d8: 0c01 |001e: move-result-object v1 │ │ +0108da: 5b31 fd00 |001f: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ +0108de: 1401 1e00 0a7f |0021: const v1, #float 1.83434e+38 // #7f0a001e │ │ +0108e4: 6e20 e302 1300 |0024: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +0108ea: 0c01 |0027: move-result-object v1 │ │ +0108ec: 5b31 ff00 |0028: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButtonOnlyBar:Landroid/view/View; // field@00ff │ │ +0108f0: 1401 1900 0a7f |002a: const v1, #float 1.83434e+38 // #7f0a0019 │ │ +0108f6: 6e20 e302 1300 |002d: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +0108fc: 0c01 |0030: move-result-object v1 │ │ +0108fe: 1f01 4f00 |0031: check-cast v1, Landroid/view/ViewGroup; // type@004f │ │ +010902: 5b31 0001 |0033: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mPageContentView:Landroid/view/ViewGroup; // field@0100 │ │ +010906: 5431 fd00 |0035: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftRightButtonBar:Landroid/view/View; // field@00fd │ │ +01090a: 1402 1c00 0a7f |0037: const v2, #float 1.83434e+38 // #7f0a001c │ │ +010910: 6e20 a500 2100 |003a: invoke-virtual {v1, v2}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00a5 │ │ +010916: 0c01 |003d: move-result-object v1 │ │ +010918: 1f01 5700 |003e: check-cast v1, Landroid/widget/Button; // type@0057 │ │ +01091c: 5b31 fc00 |0040: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftButton:Landroid/widget/Button; // field@00fc │ │ +010920: 5431 fc00 |0042: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mLeftButton:Landroid/widget/Button; // field@00fc │ │ +010924: 2202 bd00 |0044: new-instance v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1; // type@00bd │ │ +010928: 7020 d302 3200 |0046: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V // method@02d3 │ │ +01092e: 6e20 b900 2100 |0049: invoke-virtual {v1, v2}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b9 │ │ +010934: 1401 1d00 0a7f |004c: const v1, #float 1.83434e+38 // #7f0a001d │ │ +01093a: 6e20 e302 1300 |004f: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +010940: 0c01 |0052: move-result-object v1 │ │ +010942: 1f01 5700 |0053: check-cast v1, Landroid/widget/Button; // type@0057 │ │ +010946: 5b31 0101 |0055: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mRightButton:Landroid/widget/Button; // field@0101 │ │ +01094a: 5431 0101 |0057: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mRightButton:Landroid/widget/Button; // field@0101 │ │ +01094e: 2202 be00 |0059: new-instance v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2; // type@00be │ │ +010952: 7020 d502 3200 |005b: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V // method@02d5 │ │ +010958: 6e20 b900 2100 |005e: invoke-virtual {v1, v2}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b9 │ │ +01095e: 1401 1f00 0a7f |0061: const v1, #float 1.83434e+38 // #7f0a001f │ │ +010964: 6e20 e302 1300 |0064: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +01096a: 0c01 |0067: move-result-object v1 │ │ +01096c: 1f01 5700 |0068: check-cast v1, Landroid/widget/Button; // type@0057 │ │ +010970: 5b31 fe00 |006a: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButton:Landroid/widget/Button; // field@00fe │ │ +010974: 5431 fe00 |006c: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mMiddleButton:Landroid/widget/Button; // field@00fe │ │ +010978: 2202 bf00 |006e: new-instance v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3; // type@00bf │ │ +01097c: 7020 d702 3200 |0070: invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;.:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V // method@02d7 │ │ +010982: 6e20 b900 2100 |0073: invoke-virtual {v1, v2}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b9 │ │ +010988: 1401 2000 0a7f |0076: const v1, #float 1.83434e+38 // #7f0a0020 │ │ +01098e: 6e20 e302 1300 |0079: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +010994: 0c01 |007c: move-result-object v1 │ │ +010996: 5b31 fa00 |007d: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButtonOnlyBar:Landroid/view/View; // field@00fa │ │ +01099a: 1401 1a00 0a7f |007f: const v1, #float 1.83434e+38 // #7f0a001a │ │ +0109a0: 6e20 e302 1300 |0082: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +0109a6: 0c01 |0085: move-result-object v1 │ │ +0109a8: 5b31 fb00 |0086: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mInlineProgressView:Landroid/view/View; // field@00fb │ │ +0109ac: 1401 2100 0a7f |0088: const v1, #float 1.83434e+38 // #7f0a0021 │ │ +0109b2: 6e20 e302 1300 |008b: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +0109b8: 0c01 |008e: move-result-object v1 │ │ +0109ba: 5b31 f900 |008f: iput-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButton:Landroid/view/View; // field@00f9 │ │ +0109be: 6201 f400 |0091: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.LEFT_RIGHT_BUTTONS:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f4 │ │ +0109c2: 7020 f102 1300 |0093: invoke-direct {v3, v1}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V // method@02f1 │ │ +0109c8: 0e00 |0096: return-void │ │ +0109ca: 1a01 ea06 |0097: const-string v1, "wizardState" // string@06ea │ │ +0109ce: 6e20 7400 1400 |0099: invoke-virtual {v4, v1}, Landroid/os/Bundle;.getSerializable:(Ljava/lang/String;)Ljava/io/Serializable; // method@0074 │ │ +0109d4: 0c00 |009c: move-result-object v0 │ │ +0109d6: 2900 70ff |009d: goto/16 000d // -0090 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=82 │ │ + 0x0003 line=85 │ │ + 0x0005 line=86 │ │ + 0x000d line=90 │ │ + 0x0010 line=91 │ │ + 0x0012 line=93 │ │ + 0x0018 line=95 │ │ + 0x0021 line=96 │ │ + 0x002a line=97 │ │ + 0x0035 line=99 │ │ + 0x0042 line=100 │ │ + 0x004c line=107 │ │ + 0x0057 line=108 │ │ + 0x0061 line=115 │ │ + 0x006c line=116 │ │ + 0x0076 line=123 │ │ + 0x007f line=124 │ │ + 0x0088 line=125 │ │ + 0x0091 line=126 │ │ + 0x0096 line=127 │ │ + 0x0097 line=88 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x000d - 0x0097 reg=0 wizardState Ljava/io/Serializable; TWizardState; │ │ + 0x009d - 0x009f reg=0 wizardState Ljava/io/Serializable; TWizardState; │ │ + 0x0000 - 0x009f reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x009f reg=4 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + #6 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'onLeftButtonPressed' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +0109dc: |[0109dc] com.google.android.apps.authenticator.wizard.WizardPageActivity.onLeftButtonPressed:()V │ │ +0109ec: 6e10 ea02 0000 |0000: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onBackPressed:()V // method@02ea │ │ +0109f2: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=159 │ │ + 0x0003 line=160 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + │ │ + #7 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'onMiddleButtonPressed' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +0109f4: |[0109f4] com.google.android.apps.authenticator.wizard.WizardPageActivity.onMiddleButtonPressed:()V │ │ +010a04: 0e00 |0000: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=170 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + │ │ + #8 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'onRightButtonPressed' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +010a08: |[010a08] com.google.android.apps.authenticator.wizard.WizardPageActivity.onRightButtonPressed:()V │ │ +010a18: 0e00 |0000: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=165 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + │ │ + #9 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'onSaveInstanceState' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 11 16-bit code units │ │ +010a1c: |[010a1c] com.google.android.apps.authenticator.wizard.WizardPageActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ +010a2c: 6f20 8502 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/testability/TestableActivity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0285 │ │ +010a32: 1a00 ea06 |0003: const-string v0, "wizardState" // string@06ea │ │ +010a36: 5421 0201 |0005: iget-object v1, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mWizardState:Ljava/io/Serializable; // field@0102 │ │ +010a3a: 6e30 7800 0301 |0007: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putSerializable:(Ljava/lang/String;Ljava/io/Serializable;)V // method@0078 │ │ +010a40: 0e00 |000a: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=131 │ │ + 0x0003 line=132 │ │ + 0x000a line=133 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000b reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000b reg=3 outState Landroid/os/Bundle; │ │ + │ │ + #10 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'setButtonBarModeMiddleButtonOnly' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 6 16-bit code units │ │ +010a44: |[010a44] com.google.android.apps.authenticator.wizard.WizardPageActivity.setButtonBarModeMiddleButtonOnly:()V │ │ +010a54: 6200 f500 |0000: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.MIDDLE_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f5 │ │ +010a58: 7020 f102 0100 |0002: invoke-direct {v1, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V // method@02f1 │ │ +010a5e: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=151 │ │ + 0x0005 line=152 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + │ │ + #11 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'setPageContentView' │ │ + type : '(I)Landroid/view/View;' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 5 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 20 16-bit code units │ │ +010a60: |[010a60] com.google.android.apps.authenticator.wizard.WizardPageActivity.setPageContentView:(I)Landroid/view/View; │ │ +010a70: 6e10 e602 0300 |0000: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getLayoutInflater:()Landroid/view/LayoutInflater; // method@02e6 │ │ +010a76: 0c01 |0003: move-result-object v1 │ │ +010a78: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +010a7a: 6e30 9f00 4102 |0005: invoke-virtual {v1, v4, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@009f │ │ +010a80: 0c00 |0008: move-result-object v0 │ │ +010a82: 5431 0001 |0009: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mPageContentView:Landroid/view/ViewGroup; // field@0100 │ │ +010a86: 6e10 ad00 0100 |000b: invoke-virtual {v1}, Landroid/view/ViewGroup;.removeAllViews:()V // method@00ad │ │ +010a8c: 5431 0001 |000e: iget-object v1, v3, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mPageContentView:Landroid/view/ViewGroup; // field@0100 │ │ +010a90: 6e20 ac00 0100 |0010: invoke-virtual {v1, v0}, Landroid/view/ViewGroup;.addView:(Landroid/view/View;)V // method@00ac │ │ +010a96: 1100 |0013: return-object v0 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=144 │ │ + 0x0009 line=145 │ │ + 0x000e line=146 │ │ + 0x0013 line=147 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0009 - 0x0014 reg=0 view Landroid/view/View; │ │ + 0x0000 - 0x0014 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0014 reg=4 resId I │ │ + │ │ + #12 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'setTextViewHtml' │ │ + type : '(ILjava/lang/String;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 10 16-bit code units │ │ +010a98: |[010a98] com.google.android.apps.authenticator.wizard.WizardPageActivity.setTextViewHtml:(ILjava/lang/String;)V │ │ +010aa8: 6e20 e302 2100 |0000: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +010aae: 0c00 |0003: move-result-object v0 │ │ +010ab0: 1f00 5e00 |0004: check-cast v0, Landroid/widget/TextView; // type@005e │ │ +010ab4: 6e30 f502 0103 |0006: invoke-virtual {v1, v0, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setTextViewHtml:(Landroid/widget/TextView;Ljava/lang/String;)V // method@02f5 │ │ +010aba: 0e00 |0009: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=223 │ │ + 0x0009 line=224 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000a reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000a reg=2 viewId I │ │ + 0x0000 - 0x000a reg=3 html Ljava/lang/String; │ │ + │ │ + #13 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'setTextViewHtml' │ │ + type : '(Landroid/widget/TextView;Ljava/lang/String;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 2 │ │ + insns size : 8 16-bit code units │ │ +010abc: |[010abc] com.google.android.apps.authenticator.wizard.WizardPageActivity.setTextViewHtml:(Landroid/widget/TextView;Ljava/lang/String;)V │ │ +010acc: 7110 9500 0300 |0000: invoke-static {v3}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0095 │ │ +010ad2: 0c00 |0003: move-result-object v0 │ │ +010ad4: 6e20 cd00 0200 |0004: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ +010ada: 0e00 |0007: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=230 │ │ + 0x0007 line=231 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0008 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0008 reg=2 view Landroid/widget/TextView; │ │ + 0x0000 - 0x0008 reg=3 html Ljava/lang/String; │ │ + │ │ + #14 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'setTextViewHtmlFromResource' │ │ + type : '(II)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 10 16-bit code units │ │ +010adc: |[010adc] com.google.android.apps.authenticator.wizard.WizardPageActivity.setTextViewHtmlFromResource:(II)V │ │ +010aec: 6e20 e302 2100 |0000: invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.findViewById:(I)Landroid/view/View; // method@02e3 │ │ +010af2: 0c00 |0003: move-result-object v0 │ │ +010af4: 1f00 5e00 |0004: check-cast v0, Landroid/widget/TextView; // type@005e │ │ +010af8: 6e30 f702 0103 |0006: invoke-virtual {v1, v0, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setTextViewHtmlFromResource:(Landroid/widget/TextView;I)V // method@02f7 │ │ +010afe: 0e00 |0009: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=209 │ │ + 0x0009 line=210 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000a reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000a reg=2 viewId I │ │ + 0x0000 - 0x000a reg=3 resId I │ │ + │ │ + #15 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'setTextViewHtmlFromResource' │ │ + type : '(Landroid/widget/TextView;I)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 3 │ │ + outs : 2 │ │ + insns size : 12 16-bit code units │ │ +010b00: |[010b00] com.google.android.apps.authenticator.wizard.WizardPageActivity.setTextViewHtmlFromResource:(Landroid/widget/TextView;I)V │ │ +010b10: 6e20 e702 3100 |0000: invoke-virtual {v1, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getString:(I)Ljava/lang/String; // method@02e7 │ │ +010b16: 0c00 |0003: move-result-object v0 │ │ +010b18: 7110 9500 0000 |0004: invoke-static {v0}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@0095 │ │ +010b1e: 0c00 |0007: move-result-object v0 │ │ +010b20: 6e20 cd00 0200 |0008: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@00cd │ │ +010b26: 0e00 |000b: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=216 │ │ + 0x000b line=217 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000c reg=1 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x000c reg=2 view Landroid/widget/TextView; │ │ + 0x0000 - 0x000c reg=3 resId I │ │ + │ │ + #16 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'setWizardState' │ │ + type : '(Ljava/io/Serializable;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 2 │ │ + ins : 2 │ │ + outs : 0 │ │ + insns size : 3 16-bit code units │ │ +010b28: |[010b28] com.google.android.apps.authenticator.wizard.WizardPageActivity.setWizardState:(Ljava/io/Serializable;)V │ │ +010b38: 5b01 0201 |0000: iput-object v1, v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mWizardState:Ljava/io/Serializable; // field@0102 │ │ +010b3c: 0e00 |0002: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=140 │ │ + 0x0002 line=141 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0000 reg=1 (null) Ljava/io/Serializable; │ │ + 0x0000 - 0x0003 reg=0 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0003 reg=1 wizardState Ljava/io/Serializable; TWizardState; │ │ + │ │ + #17 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'showInlineProgress' │ │ + type : '(Landroid/view/View$OnClickListener;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 33 16-bit code units │ │ +010b40: |[010b40] com.google.android.apps.authenticator.wizard.WizardPageActivity.showInlineProgress:(Landroid/view/View$OnClickListener;)V │ │ +010b50: 5420 f900 |0000: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButton:Landroid/view/View; // field@00f9 │ │ +010b54: 6e20 a900 3000 |0002: invoke-virtual {v0, v3}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ +010b5a: 5420 f900 |0005: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mCancelButton:Landroid/view/View; // field@00f9 │ │ +010b5e: 1211 |0007: const/4 v1, #int 1 // #1 │ │ +010b60: 6e20 a800 1000 |0008: invoke-virtual {v0, v1}, Landroid/view/View;.setEnabled:(Z)V // method@00a8 │ │ +010b66: 5420 fb00 |000b: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mInlineProgressView:Landroid/view/View; // field@00fb │ │ +010b6a: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +010b6c: 6e20 ab00 1000 |000e: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00ab │ │ +010b72: 5420 f700 |0011: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarType:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f7 │ │ +010b76: 6201 f300 |0013: sget-object v1, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ +010b7a: 3210 0600 |0015: if-eq v0, v1, 001b // +0006 │ │ +010b7e: 5420 f700 |0017: iget-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarType:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f7 │ │ +010b82: 5b20 f800 |0019: iput-object v0, v2, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.mButtonBarTypeBeforeInlineProgressDisplayed:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f8 │ │ +010b86: 6200 f300 |001b: sget-object v0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;.CANCEL_BUTTON_ONLY:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; // field@00f3 │ │ +010b8a: 7020 f102 0200 |001d: invoke-direct {v2, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.setButtonBarType:(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V // method@02f1 │ │ +010b90: 0e00 |0020: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=267 │ │ + 0x0005 line=268 │ │ + 0x000b line=270 │ │ + 0x0011 line=272 │ │ + 0x0017 line=273 │ │ + 0x001b line=275 │ │ + 0x0020 line=276 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0021 reg=2 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0021 reg=3 cancelListener Landroid/view/View$OnClickListener; │ │ + │ │ + #18 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'startPageActivity' │ │ + type : '(Ljava/lang/Class;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 5 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 18 16-bit code units │ │ +010b94: |[010b94] com.google.android.apps.authenticator.wizard.WizardPageActivity.startPageActivity:(Ljava/lang/Class;)V │ │ +010ba4: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ +010ba8: 7030 2f00 3004 |0002: invoke-direct {v0, v3, v4}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ +010bae: 1a01 ea06 |0005: const-string v1, "wizardState" // string@06ea │ │ +010bb2: 6e10 e802 0300 |0007: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getWizardState:()Ljava/io/Serializable; // method@02e8 │ │ +010bb8: 0c02 |000a: move-result-object v2 │ │ +010bba: 6e30 3800 1002 |000b: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; // method@0038 │ │ +010bc0: 6e20 fa02 0300 |000e: invoke-virtual {v3, v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.startActivity:(Landroid/content/Intent;)V // method@02fa │ │ +010bc6: 0e00 |0011: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=177 │ │ + 0x0005 line=178 │ │ + 0x000e line=179 │ │ + 0x0011 line=180 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0000 reg=4 (null) Ljava/lang/Class; │ │ + 0x0005 - 0x0012 reg=0 intent Landroid/content/Intent; │ │ + 0x0000 - 0x0012 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0012 reg=4 activityClass Ljava/lang/Class; Ljava/lang/Class<+Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;>; │ │ + │ │ + #19 : (in Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;) │ │ + name : 'startPageActivityForResult' │ │ + type : '(Ljava/lang/Class;I)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 6 │ │ + ins : 3 │ │ + outs : 3 │ │ + insns size : 18 16-bit code units │ │ +010bc8: |[010bc8] com.google.android.apps.authenticator.wizard.WizardPageActivity.startPageActivityForResult:(Ljava/lang/Class;I)V │ │ +010bd8: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ +010bdc: 7030 2f00 3004 |0002: invoke-direct {v0, v3, v4}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@002f │ │ +010be2: 1a01 ea06 |0005: const-string v1, "wizardState" // string@06ea │ │ +010be6: 6e10 e802 0300 |0007: invoke-virtual {v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.getWizardState:()Ljava/io/Serializable; // method@02e8 │ │ +010bec: 0c02 |000a: move-result-object v2 │ │ +010bee: 6e30 3800 1002 |000b: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; // method@0038 │ │ +010bf4: 6e30 fb02 0305 |000e: invoke-virtual {v3, v0, v5}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@02fb │ │ +010bfa: 0e00 |0011: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=188 │ │ + 0x0005 line=189 │ │ + 0x000e line=190 │ │ + 0x0011 line=191 │ │ + locals : │ │ + 0x0000 - 0x0000 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0000 reg=4 (null) Ljava/lang/Class; │ │ + 0x0005 - 0x0012 reg=0 intent Landroid/content/Intent; │ │ + 0x0000 - 0x0012 reg=3 this Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ + 0x0000 - 0x0012 reg=4 activityClass Ljava/lang/Class; Ljava/lang/Class<+Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;>; │ │ + 0x0000 - 0x0012 reg=5 requestCode I │ │ + │ │ + source_file_idx : 696 (WizardPageActivity.java) │ │ + │ │ +Class #108 header: │ │ +class_idx : 102 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 194 │ │ +source_file_idx : 66 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 5 │ │ +virtual_methods_size: 1 │ │ + │ │ +Class #108 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ + │ │ +Class #108 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/AddOtherAccountActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +010bfc: |[010bfc] com.google.android.apps.authenticator.AddOtherAccountActivity.:()V │ │ +010c0c: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ +010c12: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=34 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ + name : 'access$000' │ │ + type : '(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +010c14: |[010c14] com.google.android.apps.authenticator.AddOtherAccountActivity.access$000:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ │ +010c24: 7010 0101 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.scanBarcode:()V // method@0101 │ │ +010c2a: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=34 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ + name : 'access$100' │ │ + type : '(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V' │ │ + access : 0x1008 (STATIC SYNTHETIC) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +010c2c: |[010c2c] com.google.android.apps.authenticator.AddOtherAccountActivity.access$100:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ │ +010c3c: 7010 ff00 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.manuallyEnterAccountDetails:()V // method@00ff │ │ +010c42: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=34 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 x0 Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ + name : 'manuallyEnterAccountDetails' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 3 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 16 16-bit code units │ │ +010c44: |[010c44] com.google.android.apps.authenticator.AddOtherAccountActivity.manuallyEnterAccountDetails:()V │ │ +010c54: 2200 1700 |0000: new-instance v0, Landroid/content/Intent; // type@0017 │ │ +010c58: 1a01 1603 |0002: const-string v1, "android.intent.action.VIEW" // string@0316 │ │ +010c5c: 7020 3000 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0030 │ │ +010c62: 1c01 7f00 |0007: const-class v1, Lcom/google/android/apps/authenticator/EnterKeyActivity; // type@007f │ │ +010c66: 6e30 3b00 2001 |0009: invoke-virtual {v0, v2, v1}, Landroid/content/Intent;.setClass:(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent; // method@003b │ │ +010c6c: 6e20 0301 0200 |000c: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.startActivity:(Landroid/content/Intent;)V // method@0103 │ │ +010c72: 0e00 |000f: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=59 │ │ + 0x0007 line=60 │ │ + 0x000c line=61 │ │ + 0x000f line=62 │ │ + locals : │ │ + 0x0007 - 0x0010 reg=0 intent Landroid/content/Intent; │ │ + 0x0000 - 0x0010 reg=2 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ + │ │ + #4 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ + name : 'scanBarcode' │ │ + type : '()V' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 11 16-bit code units │ │ +010c74: |[010c74] com.google.android.apps.authenticator.AddOtherAccountActivity.scanBarcode:()V │ │ +010c84: 7110 5301 0100 |0000: invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.getLaunchIntentActionScanBarcode:(Landroid/content/Context;)Landroid/content/Intent; // method@0153 │ │ +010c8a: 0c00 |0003: move-result-object v0 │ │ +010c8c: 6e20 0301 0100 |0004: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.startActivity:(Landroid/content/Intent;)V // method@0103 │ │ +010c92: 6e10 fe00 0100 |0007: invoke-virtual {v1}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.finish:()V // method@00fe │ │ +010c98: 0e00 |000a: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=65 │ │ + 0x0007 line=66 │ │ + 0x000a line=67 │ │ + locals : │ │ + 0x0000 - 0x000b reg=1 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/AddOtherAccountActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 44 16-bit code units │ │ +010c9c: |[010c9c] com.google.android.apps.authenticator.AddOtherAccountActivity.onCreate:(Landroid/os/Bundle;)V │ │ +010cac: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ +010cb2: 1500 037f |0003: const/high16 v0, #int 2130903040 // #7f03 │ │ +010cb6: 6e20 0201 0200 |0005: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.setPageContentView:(I)Landroid/view/View; // method@0102 │ │ +010cbc: 1500 0a7f |0008: const/high16 v0, #int 2131361792 // #7f0a │ │ +010cc0: 6e20 fd00 0200 |000a: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.findViewById:(I)Landroid/view/View; // method@00fd │ │ +010cc6: 0c00 |000d: move-result-object v0 │ │ +010cc8: 2201 6400 |000e: new-instance v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1; // type@0064 │ │ +010ccc: 7020 f600 2100 |0010: invoke-direct {v1, v2}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1;.:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V // method@00f6 │ │ +010cd2: 6e20 a900 1000 |0013: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ +010cd8: 1400 0100 0a7f |0016: const v0, #float 1.83433e+38 // #7f0a0001 │ │ +010cde: 6e20 fd00 0200 |0019: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.findViewById:(I)Landroid/view/View; // method@00fd │ │ +010ce4: 0c00 |001c: move-result-object v0 │ │ +010ce6: 2201 6500 |001d: new-instance v1, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2; // type@0065 │ │ +010cea: 7020 f800 2100 |001f: invoke-direct {v1, v2}, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2;.:(Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V // method@00f8 │ │ +010cf0: 6e20 a900 1000 |0022: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00a9 │ │ +010cf6: 5420 1d00 |0025: iget-object v0, v2, Lcom/google/android/apps/authenticator/AddOtherAccountActivity;.mRightButton:Landroid/widget/Button; // field@001d │ │ +010cfa: 1241 |0027: const/4 v1, #int 4 // #4 │ │ +010cfc: 6e20 bb00 1000 |0028: invoke-virtual {v0, v1}, Landroid/widget/Button;.setVisibility:(I)V // method@00bb │ │ +010d02: 0e00 |002b: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=38 │ │ + 0x0003 line=40 │ │ + 0x0008 line=42 │ │ + 0x0016 line=48 │ │ + 0x0025 line=55 │ │ + 0x002b line=56 │ │ + locals : │ │ + 0x0000 - 0x002c reg=2 this Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ + 0x0000 - 0x002c reg=3 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + source_file_idx : 66 (AddOtherAccountActivity.java) │ │ + │ │ +Class #109 header: │ │ +class_idx : 127 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 194 │ │ +source_file_idx : 127 │ │ +static_fields_size : 1 │ │ +instance_fields_size: 3 │ │ +direct_methods_size : 3 │ │ +virtual_methods_size: 5 │ │ + │ │ +Class #109 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" "Landroid/text/TextWatcher;" } │ │ + │ │ +Class #109 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/EnterKeyActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ + Interfaces - │ │ + #0 : 'Landroid/text/TextWatcher;' │ │ + Static fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'MIN_KEY_BYTES' │ │ + type : 'I' │ │ + access : 0x001a (PRIVATE STATIC FINAL) │ │ + value : 10 │ │ + Instance fields - │ │ + #0 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'mAccountName' │ │ + type : 'Landroid/widget/EditText;' │ │ + access : 0x0002 (PRIVATE) │ │ + #1 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'mKeyEntryField' │ │ + type : 'Landroid/widget/EditText;' │ │ + access : 0x0002 (PRIVATE) │ │ + #2 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'mType' │ │ + type : 'Landroid/widget/Spinner;' │ │ + access : 0x0002 (PRIVATE) │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +010d04: |[010d04] com.google.android.apps.authenticator.EnterKeyActivity.:()V │ │ +010d14: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ +010d1a: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=39 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'getEnteredKey' │ │ + type : '()Ljava/lang/String;' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 5 │ │ + ins : 1 │ │ + outs : 3 │ │ + insns size : 27 16-bit code units │ │ +010d1c: |[010d1c] com.google.android.apps.authenticator.EnterKeyActivity.getEnteredKey:()Ljava/lang/String; │ │ +010d2c: 5441 7500 |0000: iget-object v1, v4, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ +010d30: 6e10 bd00 0100 |0002: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00bd │ │ +010d36: 0c01 |0005: move-result-object v1 │ │ +010d38: 6e10 3c03 0100 |0006: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@033c │ │ +010d3e: 0c00 |0009: move-result-object v0 │ │ +010d40: 1301 3100 |000a: const/16 v1, #int 49 // #31 │ │ +010d44: 1302 4900 |000c: const/16 v2, #int 73 // #49 │ │ +010d48: 6e30 4803 1002 |000e: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(CC)Ljava/lang/String; // method@0348 │ │ +010d4e: 0c01 |0011: move-result-object v1 │ │ +010d50: 1302 3000 |0012: const/16 v2, #int 48 // #30 │ │ +010d54: 1303 4f00 |0014: const/16 v3, #int 79 // #4f │ │ +010d58: 6e30 4803 2103 |0016: invoke-virtual {v1, v2, v3}, Ljava/lang/String;.replace:(CC)Ljava/lang/String; // method@0348 │ │ +010d5e: 0c01 |0019: move-result-object v1 │ │ +010d60: 1101 |001a: return-object v1 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=73 │ │ + 0x000a line=74 │ │ + locals : │ │ + 0x000a - 0x001b reg=0 enteredKey Ljava/lang/String; │ │ + 0x0000 - 0x001b reg=4 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'validateKeyAndUpdateStatus' │ │ + type : '(Z)Z' │ │ + access : 0x0002 (PRIVATE) │ │ + code - │ │ + registers : 9 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 52 16-bit code units │ │ +010d64: |[010d64] com.google.android.apps.authenticator.EnterKeyActivity.validateKeyAndUpdateStatus:(Z)Z │ │ +010d74: 1204 |0000: const/4 v4, #int 0 // #0 │ │ +010d76: 1203 |0001: const/4 v3, #int 0 // #0 │ │ +010d78: 7010 a601 0700 |0002: invoke-direct {v7}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.getEnteredKey:()Ljava/lang/String; // method@01a6 │ │ +010d7e: 0c02 |0005: move-result-object v2 │ │ +010d80: 7110 8d01 0200 |0006: invoke-static {v2}, Lcom/google/android/apps/authenticator/Base32String;.decode:(Ljava/lang/String;)[B // method@018d │ │ +010d86: 0c00 |0009: move-result-object v0 │ │ +010d88: 2105 |000a: array-length v5, v0 │ │ +010d8a: 1306 0a00 |000b: const/16 v6, #int 10 // #a │ │ +010d8e: 3565 1100 |000d: if-ge v5, v6, 001e // +0011 │ │ +010d92: 5475 7500 |000f: iget-object v5, v7, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ +010d96: 3808 0900 |0011: if-eqz v8, 001a // +0009 │ │ +010d9a: 1404 1100 067f |0013: const v4, #float 1.78117e+38 // #7f060011 │ │ +010da0: 6e20 a701 4700 |0016: invoke-virtual {v7, v4}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.getString:(I)Ljava/lang/String; // method@01a7 │ │ +010da6: 0c04 |0019: move-result-object v4 │ │ +010da8: 6e20 be00 4500 |001a: invoke-virtual {v5, v4}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00be │ │ +010dae: 0f03 |001d: return v3 │ │ +010db0: 5474 7500 |001e: iget-object v4, v7, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ +010db4: 1205 |0020: const/4 v5, #int 0 // #0 │ │ +010db6: 6e20 be00 5400 |0021: invoke-virtual {v4, v5}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00be │ │ +010dbc: 1213 |0024: const/4 v3, #int 1 // #1 │ │ +010dbe: 28f8 |0025: goto 001d // -0008 │ │ +010dc0: 0d01 |0026: move-exception v1 │ │ +010dc2: 5474 7500 |0027: iget-object v4, v7, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ +010dc6: 1405 1200 067f |0029: const v5, #float 1.78117e+38 // #7f060012 │ │ +010dcc: 6e20 a701 5700 |002c: invoke-virtual {v7, v5}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.getString:(I)Ljava/lang/String; // method@01a7 │ │ +010dd2: 0c05 |002f: move-result-object v5 │ │ +010dd4: 6e20 be00 5400 |0030: invoke-virtual {v4, v5}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00be │ │ +010dda: 28ea |0033: goto 001d // -0016 │ │ + catches : 1 │ │ + 0x0006 - 0x0024 │ │ + Lcom/google/android/apps/authenticator/Base32String$DecodingException; -> 0x0026 │ │ + positions : │ │ + 0x0002 line=82 │ │ + 0x0006 line=84 │ │ + 0x000a line=85 │ │ + 0x000f line=88 │ │ + 0x001d line=96 │ │ + 0x001e line=91 │ │ + 0x0024 line=92 │ │ + 0x0026 line=94 │ │ + 0x0027 line=95 │ │ + locals : │ │ + 0x000a - 0x001d reg=0 decoded [B │ │ + 0x001e - 0x0026 reg=0 decoded [B │ │ + 0x0027 - 0x0034 reg=1 e Lcom/google/android/apps/authenticator/Base32String$DecodingException; │ │ + 0x0006 - 0x0034 reg=2 userEnteredKey Ljava/lang/String; │ │ + 0x0000 - 0x0034 reg=7 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ + 0x0000 - 0x0034 reg=8 submitting Z │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'afterTextChanged' │ │ + type : '(Landroid/text/Editable;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 3 │ │ + ins : 2 │ │ + outs : 2 │ │ + insns size : 5 16-bit code units │ │ +010de8: |[010de8] com.google.android.apps.authenticator.EnterKeyActivity.afterTextChanged:(Landroid/text/Editable;)V │ │ +010df8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +010dfa: 7020 ac01 0100 |0001: invoke-direct {v1, v0}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.validateKeyAndUpdateStatus:(Z)Z // method@01ac │ │ +010e00: 0e00 |0004: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=123 │ │ + 0x0004 line=124 │ │ + locals : │ │ + 0x0000 - 0x0005 reg=1 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ + 0x0000 - 0x0005 reg=2 userEnteredValue Landroid/text/Editable; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'beforeTextChanged' │ │ + type : '(Ljava/lang/CharSequence;III)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 5 │ │ + ins : 5 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +010e04: |[010e04] com.google.android.apps.authenticator.EnterKeyActivity.beforeTextChanged:(Ljava/lang/CharSequence;III)V │ │ +010e14: 0e00 |0000: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=132 │ │ + locals : │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ + 0x0000 - 0x0001 reg=1 arg0 Ljava/lang/CharSequence; │ │ + 0x0000 - 0x0001 reg=2 arg1 I │ │ + 0x0000 - 0x0001 reg=3 arg2 I │ │ + 0x0000 - 0x0001 reg=4 arg3 I │ │ + │ │ + #2 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 5 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 76 16-bit code units │ │ +010e18: |[010e18] com.google.android.apps.authenticator.EnterKeyActivity.onCreate:(Landroid/os/Bundle;)V │ │ +010e28: 6f20 eb02 4300 |0000: invoke-super {v3, v4}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ +010e2e: 1401 0200 037f |0003: const v1, #float 1.74129e+38 // #7f030002 │ │ +010e34: 6e20 ab01 1300 |0006: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.setPageContentView:(I)Landroid/view/View; // method@01ab │ │ +010e3a: 1401 0800 0a7f |0009: const v1, #float 1.83434e+38 // #7f0a0008 │ │ +010e40: 6e20 a501 1300 |000c: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.findViewById:(I)Landroid/view/View; // method@01a5 │ │ +010e46: 0c01 |000f: move-result-object v1 │ │ +010e48: 1f01 5800 |0010: check-cast v1, Landroid/widget/EditText; // type@0058 │ │ +010e4c: 5b31 7500 |0012: iput-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ +010e50: 1401 0700 0a7f |0014: const v1, #float 1.83434e+38 // #7f0a0007 │ │ +010e56: 6e20 a501 1300 |0017: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.findViewById:(I)Landroid/view/View; // method@01a5 │ │ +010e5c: 0c01 |001a: move-result-object v1 │ │ +010e5e: 1f01 5800 |001b: check-cast v1, Landroid/widget/EditText; // type@0058 │ │ +010e62: 5b31 7400 |001d: iput-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mAccountName:Landroid/widget/EditText; // field@0074 │ │ +010e66: 1401 0900 0a7f |001f: const v1, #float 1.83434e+38 // #7f0a0009 │ │ +010e6c: 6e20 a501 1300 |0022: invoke-virtual {v3, v1}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.findViewById:(I)Landroid/view/View; // method@01a5 │ │ +010e72: 0c01 |0025: move-result-object v1 │ │ +010e74: 1f01 5c00 |0026: check-cast v1, Landroid/widget/Spinner; // type@005c │ │ +010e78: 5b31 7700 |0028: iput-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mType:Landroid/widget/Spinner; // field@0077 │ │ +010e7c: 1501 077f |002a: const/high16 v1, #int 2131165184 // #7f07 │ │ +010e80: 1402 0800 0901 |002c: const v2, #float 2.51629e-38 // #01090008 │ │ +010e86: 7130 b700 1302 |002f: invoke-static {v3, v1, v2}, Landroid/widget/ArrayAdapter;.createFromResource:(Landroid/content/Context;II)Landroid/widget/ArrayAdapter; // method@00b7 │ │ +010e8c: 0c00 |0032: move-result-object v0 │ │ +010e8e: 1401 0900 0901 |0033: const v1, #float 2.5163e-38 // #01090009 │ │ +010e94: 6e20 b800 1000 |0036: invoke-virtual {v0, v1}, Landroid/widget/ArrayAdapter;.setDropDownViewResource:(I)V // method@00b8 │ │ +010e9a: 5431 7700 |0039: iget-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mType:Landroid/widget/Spinner; // field@0077 │ │ +010e9e: 6e20 ca00 0100 |003b: invoke-virtual {v1, v0}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@00ca │ │ +010ea4: 5431 7500 |003e: iget-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mKeyEntryField:Landroid/widget/EditText; // field@0075 │ │ +010ea8: 6e20 bc00 3100 |0040: invoke-virtual {v1, v3}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00bc │ │ +010eae: 5431 7600 |0043: iget-object v1, v3, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mRightButton:Landroid/widget/Button; // field@0076 │ │ +010eb2: 1402 0300 067f |0045: const v2, #float 1.78117e+38 // #7f060003 │ │ +010eb8: 6e20 ba00 2100 |0048: invoke-virtual {v1, v2}, Landroid/widget/Button;.setText:(I)V // method@00ba │ │ +010ebe: 0e00 |004b: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=50 │ │ + 0x0003 line=51 │ │ + 0x0009 line=54 │ │ + 0x0014 line=55 │ │ + 0x001f line=56 │ │ + 0x002a line=58 │ │ + 0x0033 line=60 │ │ + 0x0039 line=61 │ │ + 0x003e line=64 │ │ + 0x0043 line=66 │ │ + 0x004b line=67 │ │ + locals : │ │ + 0x0033 - 0x004c reg=0 types Landroid/widget/ArrayAdapter; Landroid/widget/ArrayAdapter; │ │ + 0x0000 - 0x004c reg=3 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ + 0x0000 - 0x004c reg=4 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + #3 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'onRightButtonPressed' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 7 │ │ + ins : 1 │ │ + outs : 6 │ │ + insns size : 53 16-bit code units │ │ +010ec0: |[010ec0] com.google.android.apps.authenticator.EnterKeyActivity.onRightButtonPressed:()V │ │ +010ed0: 5460 7700 |0000: iget-object v0, v6, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mType:Landroid/widget/Spinner; // field@0077 │ │ +010ed4: 6e10 c900 0000 |0002: invoke-virtual {v0}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00c9 │ │ +010eda: 0a00 |0005: move-result v0 │ │ +010edc: 6201 0a00 |0006: sget-object v1, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ +010ee0: 5411 0b00 |0008: iget-object v1, v1, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.value:Ljava/lang/Integer; // field@000b │ │ +010ee4: 6e10 2b03 0100 |000a: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@032b │ │ +010eea: 0a01 |000d: move-result v1 │ │ +010eec: 3310 2400 |000e: if-ne v0, v1, 0032 // +0024 │ │ +010ef0: 6204 0a00 |0010: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@000a │ │ +010ef4: 1210 |0012: const/4 v0, #int 1 // #1 │ │ +010ef6: 7020 ac01 0600 |0013: invoke-direct {v6, v0}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.validateKeyAndUpdateStatus:(Z)Z // method@01ac │ │ +010efc: 0a00 |0016: move-result v0 │ │ +010efe: 3800 1a00 |0017: if-eqz v0, 0031 // +001a │ │ +010f02: 5460 7400 |0019: iget-object v0, v6, Lcom/google/android/apps/authenticator/EnterKeyActivity;.mAccountName:Landroid/widget/EditText; // field@0074 │ │ +010f06: 6e10 bd00 0000 |001b: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00bd │ │ +010f0c: 0c00 |001e: move-result-object v0 │ │ +010f0e: 6e10 3c03 0000 |001f: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@033c │ │ +010f14: 0c01 |0022: move-result-object v1 │ │ +010f16: 7010 a601 0600 |0023: invoke-direct {v6}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.getEnteredKey:()Ljava/lang/String; // method@01a6 │ │ +010f1c: 0c02 |0026: move-result-object v2 │ │ +010f1e: 1203 |0027: const/4 v3, #int 0 // #0 │ │ +010f20: 6205 0d00 |0028: sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;.DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; // field@000d │ │ +010f24: 0760 |002a: move-object v0, v6 │ │ +010f26: 7706 7501 0000 |002b: invoke-static/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;.saveSecret:(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)Z // method@0175 │ │ +010f2c: 6e10 a401 0600 |002e: invoke-virtual {v6}, Lcom/google/android/apps/authenticator/EnterKeyActivity;.exitWizard:()V // method@01a4 │ │ +010f32: 0e00 |0031: return-void │ │ +010f34: 6204 0900 |0032: sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;.HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; // field@0009 │ │ +010f38: 28de |0034: goto 0012 // -0022 │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=104 │ │ + 0x0012 line=107 │ │ + 0x0019 line=108 │ │ + 0x001b line=109 │ │ + 0x0023 line=110 │ │ + 0x002b line=108 │ │ + 0x002e line=114 │ │ + 0x0031 line=116 │ │ + 0x0032 line=104 │ │ + locals : │ │ + 0x0012 - 0x0032 reg=4 mode Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ + 0x0000 - 0x0035 reg=6 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ + │ │ + #4 : (in Lcom/google/android/apps/authenticator/EnterKeyActivity;) │ │ + name : 'onTextChanged' │ │ + type : '(Ljava/lang/CharSequence;III)V' │ │ + access : 0x0001 (PUBLIC) │ │ + code - │ │ + registers : 5 │ │ + ins : 5 │ │ + outs : 0 │ │ + insns size : 1 16-bit code units │ │ +010f3c: |[010f3c] com.google.android.apps.authenticator.EnterKeyActivity.onTextChanged:(Ljava/lang/CharSequence;III)V │ │ +010f4c: 0e00 |0000: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=140 │ │ + locals : │ │ + 0x0000 - 0x0001 reg=0 this Lcom/google/android/apps/authenticator/EnterKeyActivity; │ │ + 0x0000 - 0x0001 reg=1 arg0 Ljava/lang/CharSequence; │ │ + 0x0000 - 0x0001 reg=2 arg1 I │ │ + 0x0000 - 0x0001 reg=3 arg2 I │ │ + 0x0000 - 0x0001 reg=4 arg3 I │ │ + │ │ + source_file_idx : 127 (EnterKeyActivity.java) │ │ + │ │ +Class #110 header: │ │ +class_idx : 161 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 194 │ │ +source_file_idx : 183 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 2 │ │ + │ │ +Class #110 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ + │ │ +Class #110 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +010f50: |[010f50] com.google.android.apps.authenticator.howitworks.IntroEnterCodeActivity.:()V │ │ +010f60: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ +010f66: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=33 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 19 16-bit code units │ │ +010f68: |[010f68] com.google.android.apps.authenticator.howitworks.IntroEnterCodeActivity.onCreate:(Landroid/os/Bundle;)V │ │ +010f78: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ +010f7e: 1400 0300 037f |0003: const v0, #float 1.74129e+38 // #7f030003 │ │ +010f84: 6e20 4c02 0200 |0006: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;.setPageContentView:(I)Landroid/view/View; // method@024c │ │ +010f8a: 1400 0a00 0a7f |0009: const v0, #float 1.83434e+38 // #7f0a000a │ │ +010f90: 1401 3f00 067f |000c: const v1, #float 1.78118e+38 // #7f06003f │ │ +010f96: 6e30 4d02 0201 |000f: invoke-virtual {v2, v0, v1}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;.setTextViewHtmlFromResource:(II)V // method@024d │ │ +010f9c: 0e00 |0012: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=37 │ │ + 0x0003 line=39 │ │ + 0x0009 line=40 │ │ + 0x0012 line=41 │ │ + locals : │ │ + 0x0000 - 0x0013 reg=2 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity; │ │ + 0x0000 - 0x0013 reg=3 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;) │ │ + name : 'onRightButtonPressed' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 6 16-bit code units │ │ +010fa0: |[010fa0] com.google.android.apps.authenticator.howitworks.IntroEnterCodeActivity.onRightButtonPressed:()V │ │ +010fb0: 1c00 a300 |0000: const-class v0, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity; // type@00a3 │ │ +010fb4: 6e20 4e02 0100 |0002: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity;.startPageActivity:(Ljava/lang/Class;)V // method@024e │ │ +010fba: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=45 │ │ + 0x0005 line=46 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity; │ │ + │ │ + source_file_idx : 183 (IntroEnterCodeActivity.java) │ │ + │ │ +Class #111 header: │ │ +class_idx : 162 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 194 │ │ +source_file_idx : 184 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 2 │ │ + │ │ +Class #111 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ + │ │ +Class #111 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +010fbc: |[010fbc] com.google.android.apps.authenticator.howitworks.IntroEnterPasswordActivity.:()V │ │ +010fcc: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ +010fd2: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=33 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 19 16-bit code units │ │ +010fd4: |[010fd4] com.google.android.apps.authenticator.howitworks.IntroEnterPasswordActivity.onCreate:(Landroid/os/Bundle;)V │ │ +010fe4: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ +010fea: 1400 0400 037f |0003: const v0, #float 1.74129e+38 // #7f030004 │ │ +010ff0: 6e20 5202 0200 |0006: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;.setPageContentView:(I)Landroid/view/View; // method@0252 │ │ +010ff6: 1400 0a00 0a7f |0009: const v0, #float 1.83434e+38 // #7f0a000a │ │ +010ffc: 1401 3d00 067f |000c: const v1, #float 1.78118e+38 // #7f06003d │ │ +011002: 6e30 5302 0201 |000f: invoke-virtual {v2, v0, v1}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;.setTextViewHtmlFromResource:(II)V // method@0253 │ │ +011008: 0e00 |0012: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=37 │ │ + 0x0003 line=39 │ │ + 0x0009 line=40 │ │ + 0x0012 line=41 │ │ + locals : │ │ + 0x0000 - 0x0013 reg=2 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity; │ │ + 0x0000 - 0x0013 reg=3 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;) │ │ + name : 'onRightButtonPressed' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 2 │ │ + ins : 1 │ │ + outs : 2 │ │ + insns size : 6 16-bit code units │ │ +01100c: |[01100c] com.google.android.apps.authenticator.howitworks.IntroEnterPasswordActivity.onRightButtonPressed:()V │ │ +01101c: 1c00 a100 |0000: const-class v0, Lcom/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity; // type@00a1 │ │ +011020: 6e20 5402 0100 |0002: invoke-virtual {v1, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity;.startPageActivity:(Ljava/lang/Class;)V // method@0254 │ │ +011026: 0e00 |0005: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=45 │ │ + 0x0005 line=46 │ │ + locals : │ │ + 0x0000 - 0x0006 reg=1 this Lcom/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity; │ │ + │ │ + source_file_idx : 184 (IntroEnterPasswordActivity.java) │ │ + │ │ +Class #112 header: │ │ +class_idx : 163 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 194 │ │ +source_file_idx : 185 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 2 │ │ + │ │ +Class #112 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ + │ │ +Class #112 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +011028: |[011028] com.google.android.apps.authenticator.howitworks.IntroVerifyDeviceActivity.:()V │ │ +011038: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ +01103e: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=33 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 27 16-bit code units │ │ +011040: |[011040] com.google.android.apps.authenticator.howitworks.IntroVerifyDeviceActivity.onCreate:(Landroid/os/Bundle;)V │ │ +011050: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ +011056: 1400 0500 037f |0003: const v0, #float 1.74129e+38 // #7f030005 │ │ +01105c: 6e20 5902 0200 |0006: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;.setPageContentView:(I)Landroid/view/View; // method@0259 │ │ +011062: 1400 0a00 0a7f |0009: const v0, #float 1.83434e+38 // #7f0a000a │ │ +011068: 1401 4100 067f |000c: const v1, #float 1.78118e+38 // #7f060041 │ │ +01106e: 6e30 5a02 0201 |000f: invoke-virtual {v2, v0, v1}, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;.setTextViewHtmlFromResource:(II)V // method@025a │ │ +011074: 5420 ba00 |0012: iget-object v0, v2, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;.mRightButton:Landroid/widget/Button; // field@00ba │ │ +011078: 1401 4200 067f |0014: const v1, #float 1.78118e+38 // #7f060042 │ │ +01107e: 6e20 ba00 1000 |0017: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(I)V // method@00ba │ │ +011084: 0e00 |001a: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=37 │ │ + 0x0003 line=39 │ │ + 0x0009 line=40 │ │ + 0x0012 line=42 │ │ + 0x001a line=43 │ │ + locals : │ │ + 0x0000 - 0x001b reg=2 this Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity; │ │ + 0x0000 - 0x001b reg=3 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;) │ │ + name : 'onRightButtonPressed' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +011088: |[011088] com.google.android.apps.authenticator.howitworks.IntroVerifyDeviceActivity.onRightButtonPressed:()V │ │ +011098: 6e10 5602 0000 |0000: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity;.exitWizard:()V // method@0256 │ │ +01109e: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=47 │ │ + 0x0003 line=48 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity; │ │ + │ │ + source_file_idx : 185 (IntroVerifyDeviceActivity.java) │ │ + │ │ +Class #113 header: │ │ +class_idx : 172 │ │ +access_flags : 1 (0x0001) │ │ +superclass_idx : 194 │ │ +source_file_idx : 58 │ │ +static_fields_size : 0 │ │ +instance_fields_size: 0 │ │ +direct_methods_size : 1 │ │ +virtual_methods_size: 2 │ │ + │ │ +Class #113 annotations: │ │ +Annotations on class │ │ + VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity" "<" "Ljava/io/Serializable;" ">;" } │ │ + │ │ +Class #113 - │ │ + Class descriptor : 'Lcom/google/android/apps/authenticator/timesync/AboutActivity;' │ │ + Access flags : 0x0001 (PUBLIC) │ │ + Superclass : 'Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;' │ │ + Interfaces - │ │ + Static fields - │ │ + Instance fields - │ │ + Direct methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/timesync/AboutActivity;) │ │ + name : '' │ │ + type : '()V' │ │ + access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +0110a0: |[0110a0] com.google.android.apps.authenticator.timesync.AboutActivity.:()V │ │ +0110b0: 7010 df02 0000 |0000: invoke-direct {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.:()V // method@02df │ │ +0110b6: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=31 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/AboutActivity; │ │ + │ │ + Virtual methods - │ │ + #0 : (in Lcom/google/android/apps/authenticator/timesync/AboutActivity;) │ │ + name : 'onCreate' │ │ + type : '(Landroid/os/Bundle;)V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 4 │ │ + ins : 2 │ │ + outs : 3 │ │ + insns size : 30 16-bit code units │ │ +0110b8: |[0110b8] com.google.android.apps.authenticator.timesync.AboutActivity.onCreate:(Landroid/os/Bundle;)V │ │ +0110c8: 6f20 eb02 3200 |0000: invoke-super {v2, v3}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;.onCreate:(Landroid/os/Bundle;)V // method@02eb │ │ +0110ce: 1400 0900 037f |0003: const v0, #float 1.74129e+38 // #7f030009 │ │ +0110d4: 6e20 9302 0200 |0006: invoke-virtual {v2, v0}, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.setPageContentView:(I)Landroid/view/View; // method@0293 │ │ +0110da: 1400 0a00 0a7f |0009: const v0, #float 1.83434e+38 // #7f0a000a │ │ +0110e0: 1401 4a00 067f |000c: const v1, #float 1.78118e+38 // #7f06004a │ │ +0110e6: 6e30 9402 0201 |000f: invoke-virtual {v2, v0, v1}, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.setTextViewHtmlFromResource:(II)V // method@0294 │ │ +0110ec: 6e10 9202 0200 |0012: invoke-virtual {v2}, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.setButtonBarModeMiddleButtonOnly:()V // method@0292 │ │ +0110f2: 5420 cc00 |0015: iget-object v0, v2, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.mMiddleButton:Landroid/widget/Button; // field@00cc │ │ +0110f6: 1401 3700 067f |0017: const v1, #float 1.78118e+38 // #7f060037 │ │ +0110fc: 6e20 ba00 1000 |001a: invoke-virtual {v0, v1}, Landroid/widget/Button;.setText:(I)V // method@00ba │ │ +011102: 0e00 |001d: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=35 │ │ + 0x0003 line=37 │ │ + 0x0009 line=38 │ │ + 0x0012 line=40 │ │ + 0x0015 line=41 │ │ + 0x001d line=42 │ │ + locals : │ │ + 0x0000 - 0x001e reg=2 this Lcom/google/android/apps/authenticator/timesync/AboutActivity; │ │ + 0x0000 - 0x001e reg=3 savedInstanceState Landroid/os/Bundle; │ │ + │ │ + #1 : (in Lcom/google/android/apps/authenticator/timesync/AboutActivity;) │ │ + name : 'onMiddleButtonPressed' │ │ + type : '()V' │ │ + access : 0x0004 (PROTECTED) │ │ + code - │ │ + registers : 1 │ │ + ins : 1 │ │ + outs : 1 │ │ + insns size : 4 16-bit code units │ │ +011104: |[011104] com.google.android.apps.authenticator.timesync.AboutActivity.onMiddleButtonPressed:()V │ │ +011114: 6e10 8f02 0000 |0000: invoke-virtual {v0}, Lcom/google/android/apps/authenticator/timesync/AboutActivity;.onBackPressed:()V // method@028f │ │ +01111a: 0e00 |0003: return-void │ │ + catches : (none) │ │ + positions : │ │ + 0x0000 line=46 │ │ + 0x0003 line=47 │ │ + locals : │ │ + 0x0000 - 0x0004 reg=0 this Lcom/google/android/apps/authenticator/timesync/AboutActivity; │ │ + │ │ + source_file_idx : 58 (AboutActivity.java) │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,101 +1,78 @@ │ │ │ -Zip file size: 183890 bytes, number of entries: 114 │ │ │ +Zip file size: 183855 bytes, number of entries: 114 │ │ │ ?rwxrwxr-x 2.0 unx 162 b- stor 80-Jan-01 00:00 android/annotation/SuppressLint.class │ │ │ ?rwxrwxr-x 2.0 unx 141 b- stor 80-Jan-01 00:00 android/annotation/TargetApi.class │ │ │ -?rwxrwxr-x 2.0 unx 138 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/PasscodeGenerator$Signer.class │ │ │ -?rwxrwxr-x 2.0 unx 405 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AccountDb$1.class │ │ │ ?rwxrwxr-x 2.0 unx 281 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AccountDb$AccountDbOpenException.class │ │ │ ?rwxrwxr-x 2.0 unx 1251 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AccountDb$OtpType.class │ │ │ -?rwxrwxr-x 2.0 unx 10590 b- defN 80-Jan-01 00:00 com/google/android/apps/authenticator/AccountDb.class │ │ │ +?rwxrwxr-x 2.0 unx 10579 b- defN 80-Jan-01 00:00 com/google/android/apps/authenticator/AccountDb.class │ │ │ ?rwxrwxr-x 2.0 unx 545 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AddOtherAccountActivity$1.class │ │ │ ?rwxrwxr-x 2.0 unx 545 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AddOtherAccountActivity$2.class │ │ │ -?rwxrwxr-x 2.0 unx 778 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/TestableActivity.class │ │ │ -?rwxrwxr-x 2.0 unx 5529 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/wizard/WizardPageActivity.class │ │ │ -?rwxrwxr-x 2.0 unx 1630 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AddOtherAccountActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 727 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$10.class │ │ │ ?rwxrwxr-x 2.0 unx 571 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$11.class │ │ │ -?rwxrwxr-x 2.0 unx 245 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/ImportController$Listener.class │ │ │ -?rwxrwxr-x 2.0 unx 1403 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$12.class │ │ │ ?rwxrwxr-x 2.0 unx 537 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$1.class │ │ │ ?rwxrwxr-x 2.0 unx 537 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$2.class │ │ │ ?rwxrwxr-x 2.0 unx 1084 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$3.class │ │ │ -?rwxrwxr-x 2.0 unx 191 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/TotpCountdownTask$Listener.class │ │ │ -?rwxrwxr-x 2.0 unx 782 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$4.class │ │ │ ?rwxrwxr-x 2.0 unx 912 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$5.class │ │ │ ?rwxrwxr-x 2.0 unx 1908 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$6.class │ │ │ ?rwxrwxr-x 2.0 unx 1038 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$7.class │ │ │ ?rwxrwxr-x 2.0 unx 1558 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$8.class │ │ │ ?rwxrwxr-x 2.0 unx 721 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$9.class │ │ │ ?rwxrwxr-x 2.0 unx 1361 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1.class │ │ │ ?rwxrwxr-x 2.0 unx 1750 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2.class │ │ │ ?rwxrwxr-x 2.0 unx 3694 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener.class │ │ │ ?rwxrwxr-x 2.0 unx 1152 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$PinInfo.class │ │ │ ?rwxrwxr-x 2.0 unx 2694 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter.class │ │ │ ?rwxrwxr-x 2.0 unx 1328 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams.class │ │ │ -?rwxrwxr-x 2.0 unx 23872 b- defN 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 894 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorApplication.class │ │ │ ?rwxrwxr-x 2.0 unx 205 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/Base32String$DecodingException.class │ │ │ -?rwxrwxr-x 2.0 unx 2944 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/Base32String.class │ │ │ +?rwxrwxr-x 2.0 unx 2934 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/Base32String.class │ │ │ ?rwxrwxr-x 2.0 unx 2844 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/CheckCodeActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 2382 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/CountdownIndicator.class │ │ │ -?rwxrwxr-x 2.0 unx 3041 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/EnterKeyActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 1246 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/FileUtilities$StatStruct.class │ │ │ ?rwxrwxr-x 2.0 unx 3458 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/FileUtilities.class │ │ │ -?rwxrwxr-x 2.0 unx 1377 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/HexEncoding.class │ │ │ +?rwxrwxr-x 2.0 unx 1372 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/HexEncoding.class │ │ │ ?rwxrwxr-x 2.0 unx 1226 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/OptionalFeatures.class │ │ │ -?rwxrwxr-x 2.0 unx 2168 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/MarketBuildOptionalFeatures.class │ │ │ -?rwxrwxr-x 2.0 unx 281 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/OtpSourceException.class │ │ │ -?rwxrwxr-x 2.0 unx 246 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/OtpGenerationNotPermittedException.class │ │ │ ?rwxrwxr-x 2.0 unx 464 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/OtpSource.class │ │ │ -?rwxrwxr-x 2.0 unx 3489 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/OtpProvider.class │ │ │ -?rwxrwxr-x 2.0 unx 413 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/PasscodeGenerator$1.class │ │ │ +?rwxrwxr-x 2.0 unx 281 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/OtpSourceException.class │ │ │ +?rwxrwxr-x 2.0 unx 138 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/PasscodeGenerator$Signer.class │ │ │ ?rwxrwxr-x 2.0 unx 2849 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/PasscodeGenerator.class │ │ │ ?rwxrwxr-x 2.0 unx 699 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/Preconditions.class │ │ │ ?rwxrwxr-x 2.0 unx 661 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/RunOnThisLooperThreadExecutor.class │ │ │ -?rwxrwxr-x 2.0 unx 805 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/TestablePreferenceActivity.class │ │ │ -?rwxrwxr-x 2.0 unx 1032 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/SettingsAboutActivity.class │ │ │ -?rwxrwxr-x 2.0 unx 369 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/SettingsActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 1550 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/TotpClock.class │ │ │ +?rwxrwxr-x 2.0 unx 191 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/TotpCountdownTask$Listener.class │ │ │ ?rwxrwxr-x 2.0 unx 2365 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/TotpCountdownTask.class │ │ │ ?rwxrwxr-x 2.0 unx 1064 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/TotpCounter.class │ │ │ ?rwxrwxr-x 2.0 unx 1688 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/UserRowView.class │ │ │ ?rwxrwxr-x 2.0 unx 1056 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/Utilities.class │ │ │ ?rwxrwxr-x 2.0 unx 222 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataexport/IExportServiceV2.class │ │ │ -?rwxrwxr-x 2.0 unx 1400 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy.class │ │ │ -?rwxrwxr-x 2.0 unx 1593 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub.class │ │ │ ?rwxrwxr-x 2.0 unx 137 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1.class │ │ │ ?rwxrwxr-x 2.0 unx 4873 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection.class │ │ │ +?rwxrwxr-x 2.0 unx 245 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/ImportController$Listener.class │ │ │ ?rwxrwxr-x 2.0 unx 240 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/ImportController.class │ │ │ -?rwxrwxr-x 2.0 unx 3480 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController.class │ │ │ ?rwxrwxr-x 2.0 unx 111 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/Importer$1.class │ │ │ ?rwxrwxr-x 2.0 unx 606 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator.class │ │ │ -?rwxrwxr-x 2.0 unx 4764 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/Importer.class │ │ │ -?rwxrwxr-x 2.0 unx 649 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity.class │ │ │ -?rwxrwxr-x 2.0 unx 650 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity.class │ │ │ -?rwxrwxr-x 2.0 unx 664 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity.class │ │ │ -?rwxrwxr-x 2.0 unx 400 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/DependencyInjector$1.class │ │ │ +?rwxrwxr-x 2.0 unx 4760 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/Importer.class │ │ │ ?rwxrwxr-x 2.0 unx 962 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/DependencyInjector$Mode.class │ │ │ ?rwxrwxr-x 2.0 unx 7592 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/DependencyInjector.class │ │ │ ?rwxrwxr-x 2.0 unx 2395 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/HttpClientFactory.class │ │ │ ?rwxrwxr-x 2.0 unx 659 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext.class │ │ │ ?rwxrwxr-x 2.0 unx 211 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/StartActivityListener.class │ │ │ -?rwxrwxr-x 2.0 unx 704 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/AboutActivity.class │ │ │ -?rwxrwxr-x 2.0 unx 2520 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/NetworkTimeProvider.class │ │ │ -?rwxrwxr-x 2.0 unx 392 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 778 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/TestableActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 805 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/TestablePreferenceActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 2519 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/NetworkTimeProvider.class │ │ │ ?rwxrwxr-x 2.0 unx 574 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowActivity$1.class │ │ │ ?rwxrwxr-x 2.0 unx 574 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowActivity$2.class │ │ │ ?rwxrwxr-x 2.0 unx 574 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowActivity$3.class │ │ │ ?rwxrwxr-x 2.0 unx 895 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowActivity$4.class │ │ │ ?rwxrwxr-x 2.0 unx 972 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowActivity$5.class │ │ │ -?rwxrwxr-x 2.0 unx 248 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowController$Presenter.class │ │ │ -?rwxrwxr-x 2.0 unx 4125 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 752 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowController$1.class │ │ │ ?rwxrwxr-x 2.0 unx 855 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowController$2.class │ │ │ ?rwxrwxr-x 2.0 unx 577 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowController$3.class │ │ │ ?rwxrwxr-x 2.0 unx 846 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowController$4.class │ │ │ +?rwxrwxr-x 2.0 unx 248 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowController$Presenter.class │ │ │ ?rwxrwxr-x 2.0 unx 1117 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowController$Result.class │ │ │ ?rwxrwxr-x 2.0 unx 1001 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowController$State.class │ │ │ ?rwxrwxr-x 2.0 unx 5473 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowController.class │ │ │ ?rwxrwxr-x 2.0 unx 562 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/wizard/WizardPageActivity$1.class │ │ │ ?rwxrwxr-x 2.0 unx 563 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/wizard/WizardPageActivity$2.class │ │ │ ?rwxrwxr-x 2.0 unx 564 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/wizard/WizardPageActivity$3.class │ │ │ ?rwxrwxr-x 2.0 unx 901 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/wizard/WizardPageActivity$4.class │ │ │ @@ -109,8 +86,31 @@ │ │ │ ?rwxrwxr-x 2.0 unx 640 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator2/R$layout.class │ │ │ ?rwxrwxr-x 2.0 unx 208 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator2/R$menu.class │ │ │ ?rwxrwxr-x 2.0 unx 4237 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator2/R$string.class │ │ │ ?rwxrwxr-x 2.0 unx 684 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator2/R$style.class │ │ │ ?rwxrwxr-x 2.0 unx 985 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator2/R$styleable.class │ │ │ ?rwxrwxr-x 2.0 unx 306 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator2/R$xml.class │ │ │ ?rwxrwxr-x 2.0 unx 155 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator2/R.class │ │ │ -114 files, 179745 bytes uncompressed, 159746 bytes compressed: 11.1% │ │ │ +?rwxrwxr-x 2.0 unx 405 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AccountDb$1.class │ │ │ +?rwxrwxr-x 2.0 unx 1403 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$12.class │ │ │ +?rwxrwxr-x 2.0 unx 782 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity$4.class │ │ │ +?rwxrwxr-x 2.0 unx 23876 b- defN 80-Jan-01 00:00 com/google/android/apps/authenticator/AuthenticatorActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 2168 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/MarketBuildOptionalFeatures.class │ │ │ +?rwxrwxr-x 2.0 unx 246 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/OtpGenerationNotPermittedException.class │ │ │ +?rwxrwxr-x 2.0 unx 3489 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/OtpProvider.class │ │ │ +?rwxrwxr-x 2.0 unx 413 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/PasscodeGenerator$1.class │ │ │ +?rwxrwxr-x 2.0 unx 1032 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/SettingsAboutActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 369 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/SettingsActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 1400 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy.class │ │ │ +?rwxrwxr-x 2.0 unx 1593 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub.class │ │ │ +?rwxrwxr-x 2.0 unx 3480 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController.class │ │ │ +?rwxrwxr-x 2.0 unx 400 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/testability/DependencyInjector$1.class │ │ │ +?rwxrwxr-x 2.0 unx 392 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 4125 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/SyncNowActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 5529 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/wizard/WizardPageActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 1630 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/AddOtherAccountActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 3041 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/EnterKeyActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 649 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 650 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 664 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity.class │ │ │ +?rwxrwxr-x 2.0 unx 704 b- stor 80-Jan-01 00:00 com/google/android/apps/authenticator/timesync/AboutActivity.class │ │ │ +114 files, 179718 bytes uncompressed, 159711 bytes compressed: 11.1% │ │ ├── zipnote «TEMP»/diffoscope_o5c_093g_tmp/tmphvubg8ou_.zip │ │ │ @@ -1,19 +1,13 @@ │ │ │ Filename: android/annotation/SuppressLint.class │ │ │ Comment: │ │ │ │ │ │ Filename: android/annotation/TargetApi.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/PasscodeGenerator$Signer.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/AccountDb$1.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/AccountDb$AccountDbOpenException.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AccountDb$OtpType.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AccountDb.class │ │ │ @@ -21,50 +15,29 @@ │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AddOtherAccountActivity$1.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AddOtherAccountActivity$2.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/testability/TestableActivity.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/wizard/WizardPageActivity.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/AddOtherAccountActivity.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$10.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$11.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/dataimport/ImportController$Listener.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/AuthenticatorActivity$12.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$1.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$2.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$3.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/TotpCountdownTask$Listener.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/AuthenticatorActivity$4.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$5.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$6.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$7.class │ │ │ @@ -90,17 +63,14 @@ │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/AuthenticatorActivity.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/AuthenticatorApplication.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/Base32String$DecodingException.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/Base32String.class │ │ │ @@ -108,66 +78,48 @@ │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/CheckCodeActivity.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/CountdownIndicator.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/EnterKeyActivity.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/FileUtilities$StatStruct.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/FileUtilities.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/HexEncoding.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/OptionalFeatures.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/MarketBuildOptionalFeatures.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/OtpSourceException.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/OtpGenerationNotPermittedException.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/OtpSource.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/OtpProvider.class │ │ │ +Filename: com/google/android/apps/authenticator/OtpSourceException.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/PasscodeGenerator$1.class │ │ │ +Filename: com/google/android/apps/authenticator/PasscodeGenerator$Signer.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/PasscodeGenerator.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/Preconditions.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/RunOnThisLooperThreadExecutor.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/testability/TestablePreferenceActivity.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/SettingsAboutActivity.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/SettingsActivity.class │ │ │ +Filename: com/google/android/apps/authenticator/TotpClock.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/TotpClock.class │ │ │ +Filename: com/google/android/apps/authenticator/TotpCountdownTask$Listener.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/TotpCountdownTask.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/TotpCounter.class │ │ │ Comment: │ │ │ @@ -177,53 +129,35 @@ │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/Utilities.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/dataexport/IExportServiceV2.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/dataimport/ImportController.class │ │ │ +Filename: com/google/android/apps/authenticator/dataimport/ImportController$Listener.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController.class │ │ │ +Filename: com/google/android/apps/authenticator/dataimport/ImportController.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/dataimport/Importer$1.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/dataimport/Importer.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/testability/DependencyInjector$1.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/testability/DependencyInjector$Mode.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/testability/DependencyInjector.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/testability/HttpClientFactory.class │ │ │ @@ -231,21 +165,21 @@ │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/testability/SharedPreferencesRenamingDelegatingContext.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/testability/StartActivityListener.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/timesync/AboutActivity.class │ │ │ +Filename: com/google/android/apps/authenticator/testability/TestableActivity.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/timesync/NetworkTimeProvider.class │ │ │ +Filename: com/google/android/apps/authenticator/testability/TestablePreferenceActivity.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity.class │ │ │ +Filename: com/google/android/apps/authenticator/timesync/NetworkTimeProvider.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowActivity$1.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowActivity$2.class │ │ │ Comment: │ │ │ @@ -255,32 +189,29 @@ │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowActivity$4.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowActivity$5.class │ │ │ Comment: │ │ │ │ │ │ -Filename: com/google/android/apps/authenticator/timesync/SyncNowController$Presenter.class │ │ │ -Comment: │ │ │ - │ │ │ -Filename: com/google/android/apps/authenticator/timesync/SyncNowActivity.class │ │ │ -Comment: │ │ │ - │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowController$1.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowController$2.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowController$3.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowController$4.class │ │ │ Comment: │ │ │ │ │ │ +Filename: com/google/android/apps/authenticator/timesync/SyncNowController$Presenter.class │ │ │ +Comment: │ │ │ + │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowController$Result.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowController$State.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator/timesync/SyncNowController.class │ │ │ @@ -336,8 +267,77 @@ │ │ │ │ │ │ Filename: com/google/android/apps/authenticator2/R$xml.class │ │ │ Comment: │ │ │ │ │ │ Filename: com/google/android/apps/authenticator2/R.class │ │ │ Comment: │ │ │ │ │ │ +Filename: com/google/android/apps/authenticator/AccountDb$1.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/AuthenticatorActivity$12.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/AuthenticatorActivity$4.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/AuthenticatorActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/MarketBuildOptionalFeatures.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/OtpGenerationNotPermittedException.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/OtpProvider.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/PasscodeGenerator$1.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/SettingsAboutActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/SettingsActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub$Proxy.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/dataexport/IExportServiceV2$Stub.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/testability/DependencyInjector$1.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/timesync/SettingsTimeCorrectionActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/timesync/SyncNowActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/wizard/WizardPageActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/AddOtherAccountActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/EnterKeyActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/howitworks/IntroEnterCodeActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/howitworks/IntroEnterPasswordActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/howitworks/IntroVerifyDeviceActivity.class │ │ │ +Comment: │ │ │ + │ │ │ +Filename: com/google/android/apps/authenticator/timesync/AboutActivity.class │ │ │ +Comment: │ │ │ + │ │ │ Zip file comment: │ │ ├── com/google/android/apps/authenticator/AccountDb.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -97,241 +97,235 @@ │ │ │ │ // 19: ldc "databases" │ │ │ │ // 21: invokevirtual android/content/Context.getDatabasePath:(Ljava/lang/String;)Ljava/io/File; │ │ │ │ // 24: invokevirtual java/io/File.getAbsolutePath:()Ljava/lang/String; │ │ │ │ // 27: astore 4 │ │ │ │ // 29: iconst_3 │ │ │ │ // 30: anewarray Ljava/lang/String; │ │ │ │ // 33: astore 5 │ │ │ │ - // 35: aconst_null │ │ │ │ - // 36: astore 6 │ │ │ │ - // 38: aload 5 │ │ │ │ - // 40: iconst_0 │ │ │ │ - // 41: aload_2 │ │ │ │ - // 42: aastore │ │ │ │ - // 43: aload 5 │ │ │ │ - // 45: iconst_1 │ │ │ │ - // 46: aload_3 │ │ │ │ - // 47: aastore │ │ │ │ - // 48: iconst_2 │ │ │ │ - // 49: istore 7 │ │ │ │ - // 51: aload 5 │ │ │ │ - // 53: iload 7 │ │ │ │ - // 55: aload 4 │ │ │ │ - // 57: aastore │ │ │ │ - // 58: new Ljava/lang/StringBuilder; │ │ │ │ - // 61: astore 8 │ │ │ │ - // 63: aload 8 │ │ │ │ - // 65: invokespecial java/lang/StringBuilder.:()V │ │ │ │ - // 68: invokestatic android/os/Process.myUid:()I │ │ │ │ - // 71: istore 9 │ │ │ │ - // 73: aload 5 │ │ │ │ - // 75: astore 10 │ │ │ │ - // 77: aload 5 │ │ │ │ - // 79: arraylength │ │ │ │ - // 80: istore 11 │ │ │ │ - // 82: iconst_0 │ │ │ │ - // 83: istore 12 │ │ │ │ - // 85: iload 12 │ │ │ │ - // 87: iload 11 │ │ │ │ - // 89: if_icmpge 430 │ │ │ │ - // 92: aload 10 │ │ │ │ - // 94: iload 12 │ │ │ │ - // 96: aaload │ │ │ │ - // 97: astore 13 │ │ │ │ - // 99: aload 13 │ │ │ │ - // 101: invokestatic com/google/android/apps/authenticator/FileUtilities.getStat:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ │ │ - // 104: astore 14 │ │ │ │ - // 106: aconst_null │ │ │ │ - // 107: astore 15 │ │ │ │ - // 109: aload 14 │ │ │ │ - // 111: getfield com/google/android/apps/authenticator/FileUtilities$StatStruct.uid:I │ │ │ │ - // 114: istore 7 │ │ │ │ - // 116: iload 7 │ │ │ │ - // 118: ifne 261 │ │ │ │ - // 121: ldc "root" │ │ │ │ - // 123: astore 15 │ │ │ │ - // 125: new Ljava/lang/StringBuilder; │ │ │ │ - // 128: astore 6 │ │ │ │ - // 130: aload 6 │ │ │ │ - // 132: invokespecial java/lang/StringBuilder.:()V │ │ │ │ - // 135: aload 6 │ │ │ │ - // 137: aload 13 │ │ │ │ - // 139: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 142: astore 6 │ │ │ │ - // 144: ldc " directory stat (my UID: " │ │ │ │ - // 146: astore 16 │ │ │ │ - // 148: aload 6 │ │ │ │ - // 150: aload 16 │ │ │ │ - // 152: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 155: astore 6 │ │ │ │ - // 157: aload 6 │ │ │ │ - // 159: iload 9 │ │ │ │ - // 161: invokevirtual java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; │ │ │ │ - // 164: astore 6 │ │ │ │ - // 166: aload 6 │ │ │ │ - // 168: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - // 171: astore 6 │ │ │ │ - // 173: aload 8 │ │ │ │ - // 175: aload 6 │ │ │ │ - // 177: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 180: pop │ │ │ │ - // 181: aload 15 │ │ │ │ - // 183: ifnonnull 309 │ │ │ │ - // 186: ldc "): " │ │ │ │ - // 188: astore 6 │ │ │ │ - // 190: aload 8 │ │ │ │ - // 192: aload 6 │ │ │ │ - // 194: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 197: pop │ │ │ │ - // 198: new Ljava/lang/StringBuilder; │ │ │ │ - // 201: astore 6 │ │ │ │ - // 203: aload 6 │ │ │ │ - // 205: invokespecial java/lang/StringBuilder.:()V │ │ │ │ - // 208: aload 14 │ │ │ │ - // 210: invokevirtual com/google/android/apps/authenticator/FileUtilities$StatStruct.toString:()Ljava/lang/String; │ │ │ │ - // 213: astore 16 │ │ │ │ - // 215: aload 6 │ │ │ │ - // 217: aload 16 │ │ │ │ - // 219: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 222: astore 6 │ │ │ │ - // 224: ldc "\n" │ │ │ │ - // 226: astore 16 │ │ │ │ - // 228: aload 6 │ │ │ │ - // 230: aload 16 │ │ │ │ - // 232: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 235: astore 6 │ │ │ │ - // 237: aload 6 │ │ │ │ - // 239: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - // 242: astore 6 │ │ │ │ - // 244: aload 8 │ │ │ │ - // 246: aload 6 │ │ │ │ - // 248: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 251: pop │ │ │ │ - // 252: iload 12 │ │ │ │ - // 254: iconst_1 │ │ │ │ - // 255: iadd │ │ │ │ - // 256: istore 12 │ │ │ │ - // 258: goto 85 │ │ │ │ - // 261: aload_1 │ │ │ │ - // 262: invokevirtual android/content/Context.getPackageManager:()Landroid/content/pm/PackageManager; │ │ │ │ - // 265: astore 17 │ │ │ │ - // 267: aload 17 │ │ │ │ - // 269: ifnull 291 │ │ │ │ - // 272: aload 14 │ │ │ │ - // 274: getfield com/google/android/apps/authenticator/FileUtilities$StatStruct.uid:I │ │ │ │ - // 277: istore 7 │ │ │ │ - // 279: aload 17 │ │ │ │ - // 281: iload 7 │ │ │ │ - // 283: invokevirtual android/content/pm/PackageManager.getNameForUid:(I)Ljava/lang/String; │ │ │ │ - // 286: astore 15 │ │ │ │ - // 288: goto 125 │ │ │ │ - // 291: aconst_null │ │ │ │ - // 292: astore 15 │ │ │ │ - // 294: goto 288 │ │ │ │ - // 297: astore 18 │ │ │ │ - // 299: aload 18 │ │ │ │ - // 301: invokevirtual java/lang/Exception.toString:()Ljava/lang/String; │ │ │ │ - // 304: astore 15 │ │ │ │ - // 306: goto 125 │ │ │ │ - // 309: new Ljava/lang/StringBuilder; │ │ │ │ - // 312: astore 6 │ │ │ │ - // 314: aload 6 │ │ │ │ - // 316: invokespecial java/lang/StringBuilder.:()V │ │ │ │ - // 319: ldc ", dir owner UID name: " │ │ │ │ - // 321: astore 16 │ │ │ │ - // 323: aload 6 │ │ │ │ - // 325: aload 16 │ │ │ │ - // 327: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 330: astore 6 │ │ │ │ - // 332: aload 6 │ │ │ │ - // 334: aload 15 │ │ │ │ - // 336: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 339: astore 6 │ │ │ │ - // 341: ldc "): " │ │ │ │ - // 343: astore 16 │ │ │ │ - // 345: aload 6 │ │ │ │ - // 347: aload 16 │ │ │ │ - // 349: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 352: astore 6 │ │ │ │ - // 354: aload 6 │ │ │ │ - // 356: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - // 359: astore 6 │ │ │ │ - // 361: aload 8 │ │ │ │ - // 363: aload 6 │ │ │ │ - // 365: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 368: pop │ │ │ │ - // 369: goto 198 │ │ │ │ - // 372: astore 18 │ │ │ │ - // 374: new Ljava/lang/StringBuilder; │ │ │ │ - // 377: astore 6 │ │ │ │ - // 379: aload 6 │ │ │ │ - // 381: invokespecial java/lang/StringBuilder.:()V │ │ │ │ - // 384: aload 6 │ │ │ │ - // 386: aload 13 │ │ │ │ - // 388: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 391: ldc " directory stat threw an exception: " │ │ │ │ - // 393: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 396: aload 18 │ │ │ │ - // 398: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ │ │ - // 401: astore 6 │ │ │ │ - // 403: ldc "\n" │ │ │ │ - // 405: astore 16 │ │ │ │ - // 407: aload 6 │ │ │ │ - // 409: aload 16 │ │ │ │ - // 411: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 414: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - // 417: astore 6 │ │ │ │ - // 419: aload 8 │ │ │ │ - // 421: aload 6 │ │ │ │ - // 423: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - // 426: pop │ │ │ │ - // 427: goto 252 │ │ │ │ - // 430: aload 8 │ │ │ │ - // 432: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - // 435: areturn │ │ │ │ + // 35: aload 5 │ │ │ │ + // 37: iconst_0 │ │ │ │ + // 38: aload_2 │ │ │ │ + // 39: aastore │ │ │ │ + // 40: aload 5 │ │ │ │ + // 42: iconst_1 │ │ │ │ + // 43: aload_3 │ │ │ │ + // 44: aastore │ │ │ │ + // 45: aload 5 │ │ │ │ + // 47: iconst_2 │ │ │ │ + // 48: aload 4 │ │ │ │ + // 50: aastore │ │ │ │ + // 51: new Ljava/lang/StringBuilder; │ │ │ │ + // 54: astore 6 │ │ │ │ + // 56: aload 6 │ │ │ │ + // 58: invokespecial java/lang/StringBuilder.:()V │ │ │ │ + // 61: invokestatic android/os/Process.myUid:()I │ │ │ │ + // 64: istore 7 │ │ │ │ + // 66: aload 5 │ │ │ │ + // 68: arraylength │ │ │ │ + // 69: istore 8 │ │ │ │ + // 71: iconst_0 │ │ │ │ + // 72: istore 9 │ │ │ │ + // 74: iload 9 │ │ │ │ + // 76: iload 8 │ │ │ │ + // 78: if_icmpge 419 │ │ │ │ + // 81: aload 5 │ │ │ │ + // 83: iload 9 │ │ │ │ + // 85: aaload │ │ │ │ + // 86: astore 10 │ │ │ │ + // 88: aload 10 │ │ │ │ + // 90: invokestatic com/google/android/apps/authenticator/FileUtilities.getStat:(Ljava/lang/String;)Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ │ │ │ + // 93: astore 11 │ │ │ │ + // 95: aconst_null │ │ │ │ + // 96: astore 12 │ │ │ │ + // 98: aload 11 │ │ │ │ + // 100: getfield com/google/android/apps/authenticator/FileUtilities$StatStruct.uid:I │ │ │ │ + // 103: istore 13 │ │ │ │ + // 105: iload 13 │ │ │ │ + // 107: ifne 250 │ │ │ │ + // 110: ldc "root" │ │ │ │ + // 112: astore 12 │ │ │ │ + // 114: new Ljava/lang/StringBuilder; │ │ │ │ + // 117: astore 14 │ │ │ │ + // 119: aload 14 │ │ │ │ + // 121: invokespecial java/lang/StringBuilder.:()V │ │ │ │ + // 124: aload 14 │ │ │ │ + // 126: aload 10 │ │ │ │ + // 128: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 131: astore 14 │ │ │ │ + // 133: ldc " directory stat (my UID: " │ │ │ │ + // 135: astore 15 │ │ │ │ + // 137: aload 14 │ │ │ │ + // 139: aload 15 │ │ │ │ + // 141: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 144: astore 14 │ │ │ │ + // 146: aload 14 │ │ │ │ + // 148: iload 7 │ │ │ │ + // 150: invokevirtual java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; │ │ │ │ + // 153: astore 14 │ │ │ │ + // 155: aload 14 │ │ │ │ + // 157: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + // 160: astore 14 │ │ │ │ + // 162: aload 6 │ │ │ │ + // 164: aload 14 │ │ │ │ + // 166: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 169: pop │ │ │ │ + // 170: aload 12 │ │ │ │ + // 172: ifnonnull 298 │ │ │ │ + // 175: ldc "): " │ │ │ │ + // 177: astore 14 │ │ │ │ + // 179: aload 6 │ │ │ │ + // 181: aload 14 │ │ │ │ + // 183: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 186: pop │ │ │ │ + // 187: new Ljava/lang/StringBuilder; │ │ │ │ + // 190: astore 14 │ │ │ │ + // 192: aload 14 │ │ │ │ + // 194: invokespecial java/lang/StringBuilder.:()V │ │ │ │ + // 197: aload 11 │ │ │ │ + // 199: invokevirtual com/google/android/apps/authenticator/FileUtilities$StatStruct.toString:()Ljava/lang/String; │ │ │ │ + // 202: astore 15 │ │ │ │ + // 204: aload 14 │ │ │ │ + // 206: aload 15 │ │ │ │ + // 208: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 211: astore 14 │ │ │ │ + // 213: ldc "\n" │ │ │ │ + // 215: astore 15 │ │ │ │ + // 217: aload 14 │ │ │ │ + // 219: aload 15 │ │ │ │ + // 221: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 224: astore 14 │ │ │ │ + // 226: aload 14 │ │ │ │ + // 228: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + // 231: astore 14 │ │ │ │ + // 233: aload 6 │ │ │ │ + // 235: aload 14 │ │ │ │ + // 237: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 240: pop │ │ │ │ + // 241: iload 9 │ │ │ │ + // 243: iconst_1 │ │ │ │ + // 244: iadd │ │ │ │ + // 245: istore 9 │ │ │ │ + // 247: goto 74 │ │ │ │ + // 250: aload_1 │ │ │ │ + // 251: invokevirtual android/content/Context.getPackageManager:()Landroid/content/pm/PackageManager; │ │ │ │ + // 254: astore 16 │ │ │ │ + // 256: aload 16 │ │ │ │ + // 258: ifnull 280 │ │ │ │ + // 261: aload 11 │ │ │ │ + // 263: getfield com/google/android/apps/authenticator/FileUtilities$StatStruct.uid:I │ │ │ │ + // 266: istore 13 │ │ │ │ + // 268: aload 16 │ │ │ │ + // 270: iload 13 │ │ │ │ + // 272: invokevirtual android/content/pm/PackageManager.getNameForUid:(I)Ljava/lang/String; │ │ │ │ + // 275: astore 12 │ │ │ │ + // 277: goto 114 │ │ │ │ + // 280: aconst_null │ │ │ │ + // 281: astore 12 │ │ │ │ + // 283: goto 277 │ │ │ │ + // 286: astore 17 │ │ │ │ + // 288: aload 17 │ │ │ │ + // 290: invokevirtual java/lang/Exception.toString:()Ljava/lang/String; │ │ │ │ + // 293: astore 12 │ │ │ │ + // 295: goto 114 │ │ │ │ + // 298: new Ljava/lang/StringBuilder; │ │ │ │ + // 301: astore 14 │ │ │ │ + // 303: aload 14 │ │ │ │ + // 305: invokespecial java/lang/StringBuilder.:()V │ │ │ │ + // 308: ldc ", dir owner UID name: " │ │ │ │ + // 310: astore 15 │ │ │ │ + // 312: aload 14 │ │ │ │ + // 314: aload 15 │ │ │ │ + // 316: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 319: astore 14 │ │ │ │ + // 321: aload 14 │ │ │ │ + // 323: aload 12 │ │ │ │ + // 325: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 328: astore 14 │ │ │ │ + // 330: ldc "): " │ │ │ │ + // 332: astore 15 │ │ │ │ + // 334: aload 14 │ │ │ │ + // 336: aload 15 │ │ │ │ + // 338: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 341: astore 14 │ │ │ │ + // 343: aload 14 │ │ │ │ + // 345: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + // 348: astore 14 │ │ │ │ + // 350: aload 6 │ │ │ │ + // 352: aload 14 │ │ │ │ + // 354: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 357: pop │ │ │ │ + // 358: goto 187 │ │ │ │ + // 361: astore 17 │ │ │ │ + // 363: new Ljava/lang/StringBuilder; │ │ │ │ + // 366: astore 14 │ │ │ │ + // 368: aload 14 │ │ │ │ + // 370: invokespecial java/lang/StringBuilder.:()V │ │ │ │ + // 373: aload 14 │ │ │ │ + // 375: aload 10 │ │ │ │ + // 377: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 380: ldc " directory stat threw an exception: " │ │ │ │ + // 382: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 385: aload 17 │ │ │ │ + // 387: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ │ │ + // 390: astore 14 │ │ │ │ + // 392: ldc "\n" │ │ │ │ + // 394: astore 15 │ │ │ │ + // 396: aload 14 │ │ │ │ + // 398: aload 15 │ │ │ │ + // 400: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 403: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + // 406: astore 14 │ │ │ │ + // 408: aload 6 │ │ │ │ + // 410: aload 14 │ │ │ │ + // 412: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + // 415: pop │ │ │ │ + // 416: goto 241 │ │ │ │ + // 419: aload 6 │ │ │ │ + // 421: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + // 424: areturn │ │ │ │ // Exceptions: │ │ │ │ // Try Handler │ │ │ │ // Start End Start End Type │ │ │ │ // ----- ----- ----- ----- --------------------- │ │ │ │ - // 99 104 372 430 Ljava/io/IOException; │ │ │ │ - // 109 114 297 309 Ljava/lang/Exception; │ │ │ │ - // 109 114 372 430 Ljava/io/IOException; │ │ │ │ - // 125 128 372 430 Ljava/io/IOException; │ │ │ │ - // 130 135 372 430 Ljava/io/IOException; │ │ │ │ - // 137 142 372 430 Ljava/io/IOException; │ │ │ │ - // 150 155 372 430 Ljava/io/IOException; │ │ │ │ - // 159 164 372 430 Ljava/io/IOException; │ │ │ │ - // 166 171 372 430 Ljava/io/IOException; │ │ │ │ - // 175 181 372 430 Ljava/io/IOException; │ │ │ │ - // 192 198 372 430 Ljava/io/IOException; │ │ │ │ - // 198 201 372 430 Ljava/io/IOException; │ │ │ │ - // 203 208 372 430 Ljava/io/IOException; │ │ │ │ - // 208 213 372 430 Ljava/io/IOException; │ │ │ │ - // 217 222 372 430 Ljava/io/IOException; │ │ │ │ - // 230 235 372 430 Ljava/io/IOException; │ │ │ │ - // 237 242 372 430 Ljava/io/IOException; │ │ │ │ - // 246 252 372 430 Ljava/io/IOException; │ │ │ │ - // 261 265 297 309 Ljava/lang/Exception; │ │ │ │ - // 261 265 372 430 Ljava/io/IOException; │ │ │ │ - // 272 277 297 309 Ljava/lang/Exception; │ │ │ │ - // 272 277 372 430 Ljava/io/IOException; │ │ │ │ - // 281 286 297 309 Ljava/lang/Exception; │ │ │ │ - // 281 286 372 430 Ljava/io/IOException; │ │ │ │ - // 299 304 372 430 Ljava/io/IOException; │ │ │ │ - // 309 312 372 430 Ljava/io/IOException; │ │ │ │ - // 314 319 372 430 Ljava/io/IOException; │ │ │ │ - // 325 330 372 430 Ljava/io/IOException; │ │ │ │ - // 334 339 372 430 Ljava/io/IOException; │ │ │ │ - // 347 352 372 430 Ljava/io/IOException; │ │ │ │ - // 354 359 372 430 Ljava/io/IOException; │ │ │ │ - // 363 369 372 430 Ljava/io/IOException; │ │ │ │ + // 88 93 361 419 Ljava/io/IOException; │ │ │ │ + // 98 103 286 298 Ljava/lang/Exception; │ │ │ │ + // 98 103 361 419 Ljava/io/IOException; │ │ │ │ + // 114 117 361 419 Ljava/io/IOException; │ │ │ │ + // 119 124 361 419 Ljava/io/IOException; │ │ │ │ + // 126 131 361 419 Ljava/io/IOException; │ │ │ │ + // 139 144 361 419 Ljava/io/IOException; │ │ │ │ + // 148 153 361 419 Ljava/io/IOException; │ │ │ │ + // 155 160 361 419 Ljava/io/IOException; │ │ │ │ + // 164 170 361 419 Ljava/io/IOException; │ │ │ │ + // 181 187 361 419 Ljava/io/IOException; │ │ │ │ + // 187 190 361 419 Ljava/io/IOException; │ │ │ │ + // 192 197 361 419 Ljava/io/IOException; │ │ │ │ + // 197 202 361 419 Ljava/io/IOException; │ │ │ │ + // 206 211 361 419 Ljava/io/IOException; │ │ │ │ + // 219 224 361 419 Ljava/io/IOException; │ │ │ │ + // 226 231 361 419 Ljava/io/IOException; │ │ │ │ + // 235 241 361 419 Ljava/io/IOException; │ │ │ │ + // 250 254 286 298 Ljava/lang/Exception; │ │ │ │ + // 250 254 361 419 Ljava/io/IOException; │ │ │ │ + // 261 266 286 298 Ljava/lang/Exception; │ │ │ │ + // 261 266 361 419 Ljava/io/IOException; │ │ │ │ + // 270 275 286 298 Ljava/lang/Exception; │ │ │ │ + // 270 275 361 419 Ljava/io/IOException; │ │ │ │ + // 288 293 361 419 Ljava/io/IOException; │ │ │ │ + // 298 301 361 419 Ljava/io/IOException; │ │ │ │ + // 303 308 361 419 Ljava/io/IOException; │ │ │ │ + // 314 319 361 419 Ljava/io/IOException; │ │ │ │ + // 323 328 361 419 Ljava/io/IOException; │ │ │ │ + // 336 341 361 419 Ljava/io/IOException; │ │ │ │ + // 343 348 361 419 Ljava/io/IOException; │ │ │ │ + // 352 358 361 419 Ljava/io/IOException; │ │ │ │ // │ │ │ │ // The error that occurred was: │ │ │ │ // │ │ │ │ - // java.lang.IllegalStateException: Expression is linked from several locations: Label_0198: │ │ │ │ + // java.lang.IllegalStateException: Expression is linked from several locations: Label_0187: │ │ │ │ // at com.strobel.decompiler.ast.Error.expressionLinkedFromMultipleLocations(Error.java:27) │ │ │ │ // at com.strobel.decompiler.ast.AstOptimizer.mergeDisparateObjectInitializations(AstOptimizer.java:2596) │ │ │ │ // at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:235) │ │ │ │ // at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:42) │ │ │ │ // at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:214) │ │ │ │ // at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:99) │ │ │ │ // at com.strobel.decompiler.languages.java.ast.AstBuilder.createMethodBody(AstBuilder.java:782) │ │ ├── com/google/android/apps/authenticator/AuthenticatorActivity.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -414,16 +414,16 @@ │ │ │ │ break; │ │ │ │ } │ │ │ │ } │ │ │ │ return onContextItemSelected; │ │ │ │ } │ │ │ │ │ │ │ │ public void onCreate(final Bundle bundle) { │ │ │ │ - int visibility = 0; │ │ │ │ - final int visibility2 = 8; │ │ │ │ + final int visibility = 8; │ │ │ │ + int visibility2 = 0; │ │ │ │ super.onCreate(bundle); │ │ │ │ this.mAccountDb = DependencyInjector.getAccountDb(); │ │ │ │ this.mOtpProvider = DependencyInjector.getOtpProvider(); │ │ │ │ this.setTitle(2131099648); │ │ │ │ this.mTotpCounter = this.mOtpProvider.getTotpCounter(); │ │ │ │ this.mTotpClock = this.mOtpProvider.getTotpClock(); │ │ │ │ this.setContentView(2130903046); │ │ │ │ @@ -444,31 +444,31 @@ │ │ │ │ } │ │ │ │ this.mUserList = (ListView)this.findViewById(2131361808); │ │ │ │ this.mContentNoAccounts = this.findViewById(2131361803); │ │ │ │ this.mContentAccountsPresent = this.findViewById(2131361806); │ │ │ │ final View mContentNoAccounts = this.mContentNoAccounts; │ │ │ │ int visibility3; │ │ │ │ if (this.mUsers.length > 0) { │ │ │ │ - visibility3 = visibility2; │ │ │ │ + visibility3 = visibility; │ │ │ │ } │ │ │ │ else { │ │ │ │ visibility3 = 0; │ │ │ │ } │ │ │ │ mContentNoAccounts.setVisibility(visibility3); │ │ │ │ final View mContentAccountsPresent = this.mContentAccountsPresent; │ │ │ │ if (this.mUsers.length <= 0) { │ │ │ │ - visibility = visibility2; │ │ │ │ + visibility2 = visibility; │ │ │ │ } │ │ │ │ - mContentAccountsPresent.setVisibility(visibility); │ │ │ │ + mContentAccountsPresent.setVisibility(visibility2); │ │ │ │ ((TextView)this.findViewById(2131361802)).setText((CharSequence)Html.fromHtml(this.getString(2131099716))); │ │ │ │ this.findViewById(2131361804).setOnClickListener((View$OnClickListener)new AuthenticatorActivity$1(this)); │ │ │ │ this.findViewById(2131361805).setOnClickListener((View$OnClickListener)new AuthenticatorActivity$2(this)); │ │ │ │ this.mEnterPinPrompt = (TextView)this.findViewById(2131361807); │ │ │ │ this.mUserAdapter = new AuthenticatorActivity$PinListAdapter(this, (Context)this, 2130903050, this.mUsers); │ │ │ │ - this.mUserList.setVisibility(visibility2); │ │ │ │ + this.mUserList.setVisibility(visibility); │ │ │ │ this.mUserList.setAdapter((ListAdapter)this.mUserAdapter); │ │ │ │ this.mUserList.setOnItemClickListener((AdapterView$OnItemClickListener)new AuthenticatorActivity$3(this)); │ │ │ │ if (bundle == null) { │ │ │ │ DependencyInjector.getOptionalFeatures().onAuthenticatorActivityCreated(this); │ │ │ │ this.importDataFromOldAppIfNecessary(); │ │ │ │ this.handleIntent(this.getIntent()); │ │ │ │ } │ │ │ │ @@ -623,70 +623,69 @@ │ │ │ │ while (true) { │ │ │ │ Label_0136: { │ │ │ │ if (index >= size) { │ │ │ │ break Label_0136; │ │ │ │ } │ │ │ │ final String s = (String)list.get(index); │ │ │ │ final int n2 = index; │ │ │ │ - Label_0263_Outer: │ │ │ │ while (true) { │ │ │ │ try { │ │ │ │ this.computeAndDisplayPin(s, n2, false); │ │ │ │ ++index; │ │ │ │ continue Label_0121_Outer; │ │ │ │ - // iftrue(Label_0193:, n == 0) │ │ │ │ - // iftrue(Label_0326:, this.mUsers.length <= 0) │ │ │ │ - // iftrue(Label_0335:, this.mUsers.length <= 0) │ │ │ │ - // iftrue(Label_0238:, this.mUserList.getVisibility() == 0) │ │ │ │ + View mContentAccountsPresent; │ │ │ │ + int visibility3 = 0; │ │ │ │ + View mContentNoAccounts = null; │ │ │ │ + Block_7_Outer:Label_0292_Outer: │ │ │ │ while (true) { │ │ │ │ - Block_9: │ │ │ │ - while (true) { │ │ │ │ - this.mUserList.setVisibility(0); │ │ │ │ - this.registerForContextMenu((View)this.mUserList); │ │ │ │ - Label_0193: { │ │ │ │ - final View mContentAccountsPresent; │ │ │ │ - Label_0292: { │ │ │ │ + this.mUserList.setVisibility(0); │ │ │ │ + this.registerForContextMenu((View)this.mUserList); │ │ │ │ + Label_0193: { │ │ │ │ + while (true) { │ │ │ │ + Label_0263: │ │ │ │ + while (true) { │ │ │ │ Label_0238: { │ │ │ │ break Label_0238; │ │ │ │ - Label_0335: { │ │ │ │ - visibility2 = visibility; │ │ │ │ - } │ │ │ │ - break Label_0292; │ │ │ │ - Block_7: { │ │ │ │ - break Block_7; │ │ │ │ - this.mUsers = new AuthenticatorActivity$PinInfo[0]; │ │ │ │ - this.mUserList.setVisibility(visibility); │ │ │ │ - break Label_0238; │ │ │ │ - } │ │ │ │ this.mUserAdapter = new AuthenticatorActivity$PinListAdapter(this, (Context)this, 2130903050, this.mUsers); │ │ │ │ this.mUserList.setAdapter((ListAdapter)this.mUserAdapter); │ │ │ │ break Label_0193; │ │ │ │ + mContentAccountsPresent.setVisibility(visibility2); │ │ │ │ + return; │ │ │ │ + this.mUsers = new AuthenticatorActivity$PinInfo[0]; │ │ │ │ + this.mUserList.setVisibility(visibility); │ │ │ │ + break Label_0238; │ │ │ │ + Label_0326: { │ │ │ │ + visibility3 = 0; │ │ │ │ + } │ │ │ │ + break Label_0263; │ │ │ │ + n = 0; │ │ │ │ + continue Label_0087_Outer; │ │ │ │ } │ │ │ │ - final View mContentNoAccounts = this.mContentNoAccounts; │ │ │ │ - break Block_9; │ │ │ │ - n = 0; │ │ │ │ - continue Label_0087_Outer; │ │ │ │ - final int visibility3; │ │ │ │ - mContentNoAccounts.setVisibility(visibility3); │ │ │ │ - mContentAccountsPresent = this.mContentAccountsPresent; │ │ │ │ + mContentNoAccounts = this.mContentNoAccounts; │ │ │ │ + visibility3 = visibility; │ │ │ │ + break Label_0263; │ │ │ │ + continue Label_0292_Outer; │ │ │ │ } │ │ │ │ - mContentAccountsPresent.setVisibility(visibility2); │ │ │ │ - return; │ │ │ │ + mContentNoAccounts.setVisibility(visibility3); │ │ │ │ + mContentAccountsPresent = this.mContentAccountsPresent; │ │ │ │ + continue; │ │ │ │ + Label_0335: { │ │ │ │ + visibility2 = visibility; │ │ │ │ + } │ │ │ │ + continue; │ │ │ │ } │ │ │ │ - this.mUserAdapter.notifyDataSetChanged(); │ │ │ │ - continue Label_0263_Outer; │ │ │ │ - } │ │ │ │ - int visibility3 = visibility; │ │ │ │ - continue; │ │ │ │ - Label_0326: { │ │ │ │ - visibility3 = 0; │ │ │ │ } │ │ │ │ - continue; │ │ │ │ + this.mUserAdapter.notifyDataSetChanged(); │ │ │ │ + continue Block_7_Outer; │ │ │ │ } │ │ │ │ } │ │ │ │ + // iftrue(Label_0326:, this.mUsers.length <= 0) │ │ │ │ + // iftrue(Label_0193:, n == 0) │ │ │ │ + // iftrue(Label_0335:, this.mUsers.length <= 0) │ │ │ │ + // iftrue(Label_0238:, this.mUserList.getVisibility() == 0) │ │ │ │ catch (OtpSourceException ex) { │ │ │ │ continue; │ │ │ │ } │ │ │ │ break; │ │ │ │ } │ │ │ │ } │ │ │ │ break; │ │ ├── com/google/android/apps/authenticator/Base32String.class │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ @@ -327,198 +327,200 @@ │ │ │ │ 8: aload_1 │ │ │ │ 9: athrow │ │ │ │ │ │ │ │ protected byte[] decodeInternal(java.lang.String); │ │ │ │ descriptor: (Ljava/lang/String;)[B │ │ │ │ flags: (0x0004) ACC_PROTECTED │ │ │ │ Code: │ │ │ │ - stack=300, locals=18, args_size=2 │ │ │ │ - 0: aload_1 │ │ │ │ - 1: invokevirtual #87 // Method java/lang/String.trim:()Ljava/lang/String; │ │ │ │ - 4: ldc #11 // String - │ │ │ │ - 6: ldc #89 // String │ │ │ │ - 8: invokevirtual #93 // Method java/lang/String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ - 11: astore_2 │ │ │ │ - 12: ldc #89 // String │ │ │ │ - 14: astore_3 │ │ │ │ - 15: aload_2 │ │ │ │ - 16: ldc #95 // String │ │ │ │ - 18: aload_3 │ │ │ │ - 19: invokevirtual #93 // Method java/lang/String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ - 22: astore_1 │ │ │ │ - 23: ldc #89 // String │ │ │ │ - 25: astore 4 │ │ │ │ - 27: aload_1 │ │ │ │ - 28: ldc #97 // String [=]*$ │ │ │ │ - 30: aload 4 │ │ │ │ - 32: invokevirtual #100 // Method java/lang/String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ - 35: astore_1 │ │ │ │ - 36: getstatic #106 // Field java/util/Locale.US:Ljava/util/Locale; │ │ │ │ - 39: astore_2 │ │ │ │ - 40: aload_1 │ │ │ │ - 41: aload_2 │ │ │ │ - 42: invokevirtual #110 // Method java/lang/String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String; │ │ │ │ - 45: astore_1 │ │ │ │ - 46: aload_1 │ │ │ │ - 47: invokevirtual #114 // Method java/lang/String.length:()I │ │ │ │ - 50: istore 5 │ │ │ │ - 52: iload 5 │ │ │ │ - 54: ifne 70 │ │ │ │ - 57: iconst_0 │ │ │ │ - 58: istore 5 │ │ │ │ - 60: aconst_null │ │ │ │ - 61: astore_2 │ │ │ │ - 62: iconst_0 │ │ │ │ - 63: newarray byte │ │ │ │ - 65: astore 6 │ │ │ │ - 67: aload 6 │ │ │ │ - 69: areturn │ │ │ │ - 70: aload_1 │ │ │ │ - 71: invokevirtual #114 // Method java/lang/String.length:()I │ │ │ │ - 74: istore 7 │ │ │ │ - 76: aload_0 │ │ │ │ - 77: getfield #50 // Field SHIFT:I │ │ │ │ - 80: iload 7 │ │ │ │ - 82: imul │ │ │ │ - 83: istore 5 │ │ │ │ - 85: iload 5 │ │ │ │ - 87: bipush 8 │ │ │ │ - 89: idiv │ │ │ │ - 90: istore 8 │ │ │ │ - 92: iload 8 │ │ │ │ - 94: newarray byte │ │ │ │ - 96: astore 6 │ │ │ │ - 98: iconst_0 │ │ │ │ - 99: istore 9 │ │ │ │ - 101: iconst_0 │ │ │ │ - 102: istore 10 │ │ │ │ - 104: iconst_0 │ │ │ │ - 105: istore 11 │ │ │ │ - 107: aload_1 │ │ │ │ - 108: invokevirtual #38 // Method java/lang/String.toCharArray:()[C │ │ │ │ - 111: astore 12 │ │ │ │ - 113: aload 12 │ │ │ │ - 115: arraylength │ │ │ │ - 116: istore 13 │ │ │ │ - 118: iconst_0 │ │ │ │ - 119: istore 14 │ │ │ │ - 121: iconst_0 │ │ │ │ - 122: istore 15 │ │ │ │ - 124: iload 14 │ │ │ │ - 126: iload 13 │ │ │ │ - 128: if_icmpge 67 │ │ │ │ - 131: aload 12 │ │ │ │ - 133: iload 14 │ │ │ │ - 135: caload │ │ │ │ - 136: istore 16 │ │ │ │ - 138: aload_0 │ │ │ │ - 139: getfield #55 // Field CHAR_MAP:Ljava/util/HashMap; │ │ │ │ - 142: astore_2 │ │ │ │ - 143: iload 16 │ │ │ │ - 145: invokestatic #61 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character; │ │ │ │ - 148: astore 4 │ │ │ │ - 150: aload_2 │ │ │ │ - 151: aload 4 │ │ │ │ - 153: invokevirtual #118 // Method java/util/HashMap.containsKey:(Ljava/lang/Object;)Z │ │ │ │ - 156: istore 5 │ │ │ │ - 158: iload 5 │ │ │ │ - 160: ifne 202 │ │ │ │ - 163: new #120 // class com/google/android/apps/authenticator/Base32String$DecodingException │ │ │ │ - 166: astore_2 │ │ │ │ - 167: new #122 // class java/lang/StringBuilder │ │ │ │ - 170: astore 4 │ │ │ │ - 172: aload 4 │ │ │ │ - 174: invokespecial #123 // Method java/lang/StringBuilder."":()V │ │ │ │ - 177: aload 4 │ │ │ │ - 179: ldc #125 // String Illegal character: │ │ │ │ - 181: invokevirtual #129 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ - 184: iload 16 │ │ │ │ - 186: invokevirtual #132 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; │ │ │ │ - 189: invokevirtual #135 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - 192: astore 4 │ │ │ │ - 194: aload_2 │ │ │ │ - 195: aload 4 │ │ │ │ - 197: invokespecial #136 // Method com/google/android/apps/authenticator/Base32String$DecodingException."":(Ljava/lang/String;)V │ │ │ │ - 200: aload_2 │ │ │ │ - 201: athrow │ │ │ │ - 202: aload_0 │ │ │ │ - 203: getfield #50 // Field SHIFT:I │ │ │ │ - 206: istore 5 │ │ │ │ - 208: iload 9 │ │ │ │ - 210: iload 5 │ │ │ │ + stack=300, locals=19, args_size=2 │ │ │ │ + 0: iconst_0 │ │ │ │ + 1: istore_2 │ │ │ │ + 2: aconst_null │ │ │ │ + 3: astore_3 │ │ │ │ + 4: aload_1 │ │ │ │ + 5: invokevirtual #87 // Method java/lang/String.trim:()Ljava/lang/String; │ │ │ │ + 8: ldc #11 // String - │ │ │ │ + 10: ldc #89 // String │ │ │ │ + 12: invokevirtual #93 // Method java/lang/String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ + 15: astore 4 │ │ │ │ + 17: ldc #89 // String │ │ │ │ + 19: astore 5 │ │ │ │ + 21: aload 4 │ │ │ │ + 23: ldc #95 // String │ │ │ │ + 25: aload 5 │ │ │ │ + 27: invokevirtual #93 // Method java/lang/String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ + 30: astore_1 │ │ │ │ + 31: ldc #89 // String │ │ │ │ + 33: astore 6 │ │ │ │ + 35: aload_1 │ │ │ │ + 36: ldc #97 // String [=]*$ │ │ │ │ + 38: aload 6 │ │ │ │ + 40: invokevirtual #100 // Method java/lang/String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ │ │ + 43: astore_1 │ │ │ │ + 44: getstatic #106 // Field java/util/Locale.US:Ljava/util/Locale; │ │ │ │ + 47: astore 4 │ │ │ │ + 49: aload_1 │ │ │ │ + 50: aload 4 │ │ │ │ + 52: invokevirtual #110 // Method java/lang/String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String; │ │ │ │ + 55: astore_1 │ │ │ │ + 56: aload_1 │ │ │ │ + 57: invokevirtual #114 // Method java/lang/String.length:()I │ │ │ │ + 60: istore 7 │ │ │ │ + 62: iload 7 │ │ │ │ + 64: ifne 75 │ │ │ │ + 67: iconst_0 │ │ │ │ + 68: newarray byte │ │ │ │ + 70: astore 8 │ │ │ │ + 72: aload 8 │ │ │ │ + 74: areturn │ │ │ │ + 75: aload_1 │ │ │ │ + 76: invokevirtual #114 // Method java/lang/String.length:()I │ │ │ │ + 79: istore 9 │ │ │ │ + 81: aload_0 │ │ │ │ + 82: getfield #50 // Field SHIFT:I │ │ │ │ + 85: iload 9 │ │ │ │ + 87: imul │ │ │ │ + 88: bipush 8 │ │ │ │ + 90: idiv │ │ │ │ + 91: istore 10 │ │ │ │ + 93: iload 10 │ │ │ │ + 95: newarray byte │ │ │ │ + 97: astore 8 │ │ │ │ + 99: iconst_0 │ │ │ │ + 100: istore 11 │ │ │ │ + 102: iconst_0 │ │ │ │ + 103: istore 12 │ │ │ │ + 105: iconst_0 │ │ │ │ + 106: istore 13 │ │ │ │ + 108: aload_1 │ │ │ │ + 109: invokevirtual #38 // Method java/lang/String.toCharArray:()[C │ │ │ │ + 112: astore 6 │ │ │ │ + 114: aload 6 │ │ │ │ + 116: arraylength │ │ │ │ + 117: istore 14 │ │ │ │ + 119: iconst_0 │ │ │ │ + 120: istore 7 │ │ │ │ + 122: aconst_null │ │ │ │ + 123: astore 4 │ │ │ │ + 125: iconst_0 │ │ │ │ + 126: istore 15 │ │ │ │ + 128: iload 7 │ │ │ │ + 130: iload 14 │ │ │ │ + 132: if_icmpge 72 │ │ │ │ + 135: aload 6 │ │ │ │ + 137: iload 7 │ │ │ │ + 139: caload │ │ │ │ + 140: istore 16 │ │ │ │ + 142: aload_0 │ │ │ │ + 143: getfield #55 // Field CHAR_MAP:Ljava/util/HashMap; │ │ │ │ + 146: astore_3 │ │ │ │ + 147: iload 16 │ │ │ │ + 149: invokestatic #61 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character; │ │ │ │ + 152: astore 17 │ │ │ │ + 154: aload_3 │ │ │ │ + 155: aload 17 │ │ │ │ + 157: invokevirtual #118 // Method java/util/HashMap.containsKey:(Ljava/lang/Object;)Z │ │ │ │ + 160: istore_2 │ │ │ │ + 161: iload_2 │ │ │ │ + 162: ifne 204 │ │ │ │ + 165: new #120 // class com/google/android/apps/authenticator/Base32String$DecodingException │ │ │ │ + 168: astore_3 │ │ │ │ + 169: new #122 // class java/lang/StringBuilder │ │ │ │ + 172: astore 4 │ │ │ │ + 174: aload 4 │ │ │ │ + 176: invokespecial #123 // Method java/lang/StringBuilder."":()V │ │ │ │ + 179: aload 4 │ │ │ │ + 181: ldc #125 // String Illegal character: │ │ │ │ + 183: invokevirtual #129 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ │ │ + 186: iload 16 │ │ │ │ + 188: invokevirtual #132 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; │ │ │ │ + 191: invokevirtual #135 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + 194: astore 4 │ │ │ │ + 196: aload_3 │ │ │ │ + 197: aload 4 │ │ │ │ + 199: invokespecial #136 // Method com/google/android/apps/authenticator/Base32String$DecodingException."":(Ljava/lang/String;)V │ │ │ │ + 202: aload_3 │ │ │ │ + 203: athrow │ │ │ │ + 204: aload_0 │ │ │ │ + 205: getfield #50 // Field SHIFT:I │ │ │ │ + 208: istore_2 │ │ │ │ + 209: iload 11 │ │ │ │ + 211: iload_2 │ │ │ │ 212: ishl │ │ │ │ - 213: istore 9 │ │ │ │ + 213: istore 11 │ │ │ │ 215: aload_0 │ │ │ │ 216: getfield #55 // Field CHAR_MAP:Ljava/util/HashMap; │ │ │ │ - 219: astore_2 │ │ │ │ + 219: astore_3 │ │ │ │ 220: iload 16 │ │ │ │ 222: invokestatic #61 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character; │ │ │ │ - 225: astore 4 │ │ │ │ - 227: aload_2 │ │ │ │ - 228: aload 4 │ │ │ │ + 225: astore 17 │ │ │ │ + 227: aload_3 │ │ │ │ + 228: aload 17 │ │ │ │ 230: invokevirtual #140 // Method java/util/HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object; │ │ │ │ 233: checkcast #44 // class java/lang/Integer │ │ │ │ - 236: astore_2 │ │ │ │ - 237: aload_2 │ │ │ │ + 236: astore_3 │ │ │ │ + 237: aload_3 │ │ │ │ 238: invokevirtual #143 // Method java/lang/Integer.intValue:()I │ │ │ │ - 241: istore 5 │ │ │ │ - 243: aload_0 │ │ │ │ - 244: getfield #42 // Field MASK:I │ │ │ │ - 247: istore 17 │ │ │ │ - 249: iload 5 │ │ │ │ - 251: iload 17 │ │ │ │ - 253: iand │ │ │ │ - 254: istore 5 │ │ │ │ - 256: iload 9 │ │ │ │ - 258: iload 5 │ │ │ │ - 260: ior │ │ │ │ - 261: istore 9 │ │ │ │ - 263: aload_0 │ │ │ │ - 264: getfield #50 // Field SHIFT:I │ │ │ │ - 267: istore 5 │ │ │ │ - 269: iload 11 │ │ │ │ - 271: iload 5 │ │ │ │ - 273: iadd │ │ │ │ - 274: istore 11 │ │ │ │ - 276: bipush 8 │ │ │ │ - 278: istore 5 │ │ │ │ - 280: iload 11 │ │ │ │ - 282: iload 5 │ │ │ │ - 284: if_icmplt 335 │ │ │ │ - 287: iload 15 │ │ │ │ - 289: iconst_1 │ │ │ │ - 290: iadd │ │ │ │ - 291: istore 10 │ │ │ │ - 293: iload 11 │ │ │ │ - 295: bipush -8 │ │ │ │ - 297: iadd │ │ │ │ - 298: istore 5 │ │ │ │ - 300: iload 9 │ │ │ │ - 302: iload 5 │ │ │ │ - 304: ishr │ │ │ │ - 305: i2b │ │ │ │ - 306: istore 5 │ │ │ │ - 308: aload 6 │ │ │ │ - 310: iload 15 │ │ │ │ - 312: iload 5 │ │ │ │ - 314: bastore │ │ │ │ - 315: iload 11 │ │ │ │ - 317: bipush -8 │ │ │ │ - 319: iadd │ │ │ │ - 320: istore 11 │ │ │ │ - 322: iload 14 │ │ │ │ - 324: iconst_1 │ │ │ │ - 325: iadd │ │ │ │ - 326: istore 14 │ │ │ │ - 328: iload 10 │ │ │ │ - 330: istore 15 │ │ │ │ - 332: goto 124 │ │ │ │ - 335: iload 15 │ │ │ │ - 337: istore 10 │ │ │ │ - 339: goto 322 │ │ │ │ + 241: istore_2 │ │ │ │ + 242: aload_0 │ │ │ │ + 243: getfield #42 // Field MASK:I │ │ │ │ + 246: istore 18 │ │ │ │ + 248: iload_2 │ │ │ │ + 249: iload 18 │ │ │ │ + 251: iand │ │ │ │ + 252: istore_2 │ │ │ │ + 253: iload 11 │ │ │ │ + 255: iload_2 │ │ │ │ + 256: ior │ │ │ │ + 257: istore 11 │ │ │ │ + 259: aload_0 │ │ │ │ + 260: getfield #50 // Field SHIFT:I │ │ │ │ + 263: istore_2 │ │ │ │ + 264: iload 13 │ │ │ │ + 266: iload_2 │ │ │ │ + 267: iadd │ │ │ │ + 268: istore 13 │ │ │ │ + 270: bipush 8 │ │ │ │ + 272: istore_2 │ │ │ │ + 273: iload 13 │ │ │ │ + 275: iload_2 │ │ │ │ + 276: if_icmplt 325 │ │ │ │ + 279: iload 15 │ │ │ │ + 281: iconst_1 │ │ │ │ + 282: iadd │ │ │ │ + 283: istore 12 │ │ │ │ + 285: iload 13 │ │ │ │ + 287: bipush -8 │ │ │ │ + 289: iadd │ │ │ │ + 290: istore_2 │ │ │ │ + 291: iload 11 │ │ │ │ + 293: iload_2 │ │ │ │ + 294: ishr │ │ │ │ + 295: i2b │ │ │ │ + 296: istore_2 │ │ │ │ + 297: aload 8 │ │ │ │ + 299: iload 15 │ │ │ │ + 301: iload_2 │ │ │ │ + 302: bastore │ │ │ │ + 303: iload 13 │ │ │ │ + 305: bipush -8 │ │ │ │ + 307: iadd │ │ │ │ + 308: istore 13 │ │ │ │ + 310: iload 7 │ │ │ │ + 312: iconst_1 │ │ │ │ + 313: iadd │ │ │ │ + 314: istore_2 │ │ │ │ + 315: iload_2 │ │ │ │ + 316: istore 7 │ │ │ │ + 318: iload 12 │ │ │ │ + 320: istore 15 │ │ │ │ + 322: goto 128 │ │ │ │ + 325: iload 15 │ │ │ │ + 327: istore 12 │ │ │ │ + 329: goto 310 │ │ │ │ │ │ │ │ protected java.lang.String encodeInternal(byte[]); │ │ │ │ descriptor: ([B)Ljava/lang/String; │ │ │ │ flags: (0x0004) ACC_PROTECTED │ │ │ │ Code: │ │ │ │ stack=300, locals=13, args_size=2 │ │ │ │ 0: aload_1 │ │ ├── com/google/android/apps/authenticator/HexEncoding.class │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ @@ -201,77 +201,75 @@ │ │ │ │ 137: aload_2 │ │ │ │ 138: areturn │ │ │ │ │ │ │ │ public static java.lang.String encode(byte[]); │ │ │ │ descriptor: ([B)Ljava/lang/String; │ │ │ │ flags: (0x0009) ACC_PUBLIC, ACC_STATIC │ │ │ │ Code: │ │ │ │ - stack=300, locals=9, args_size=1 │ │ │ │ + stack=300, locals=8, args_size=1 │ │ │ │ 0: new #34 // class java/lang/StringBuilder │ │ │ │ 3: astore_1 │ │ │ │ 4: aload_0 │ │ │ │ 5: arraylength │ │ │ │ 6: iconst_2 │ │ │ │ 7: imul │ │ │ │ 8: istore_2 │ │ │ │ 9: aload_1 │ │ │ │ 10: iload_2 │ │ │ │ 11: invokespecial #37 // Method java/lang/StringBuilder."":(I)V │ │ │ │ 14: aload_0 │ │ │ │ - 15: astore_3 │ │ │ │ - 16: aload_0 │ │ │ │ - 17: arraylength │ │ │ │ - 18: istore 4 │ │ │ │ - 20: iconst_0 │ │ │ │ - 21: istore 5 │ │ │ │ - 23: iload 5 │ │ │ │ - 25: iload 4 │ │ │ │ - 27: if_icmpge 95 │ │ │ │ - 30: aload_3 │ │ │ │ - 31: iload 5 │ │ │ │ - 33: baload │ │ │ │ - 34: istore 6 │ │ │ │ - 36: getstatic #16 // Field HEX_DIGITS:[C │ │ │ │ - 39: astore 7 │ │ │ │ - 41: iload 6 │ │ │ │ - 43: iconst_4 │ │ │ │ - 44: iushr │ │ │ │ - 45: bipush 15 │ │ │ │ - 47: iand │ │ │ │ - 48: istore 8 │ │ │ │ - 50: aload 7 │ │ │ │ - 52: iload 8 │ │ │ │ - 54: caload │ │ │ │ - 55: istore_2 │ │ │ │ - 56: aload_1 │ │ │ │ - 57: iload_2 │ │ │ │ - 58: invokevirtual #41 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; │ │ │ │ - 61: pop │ │ │ │ - 62: getstatic #16 // Field HEX_DIGITS:[C │ │ │ │ - 65: astore 7 │ │ │ │ - 67: iload 6 │ │ │ │ - 69: bipush 15 │ │ │ │ - 71: iand │ │ │ │ - 72: istore 8 │ │ │ │ - 74: aload 7 │ │ │ │ - 76: iload 8 │ │ │ │ - 78: caload │ │ │ │ - 79: istore_2 │ │ │ │ - 80: aload_1 │ │ │ │ - 81: iload_2 │ │ │ │ - 82: invokevirtual #41 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; │ │ │ │ - 85: pop │ │ │ │ - 86: iload 5 │ │ │ │ - 88: iconst_1 │ │ │ │ - 89: iadd │ │ │ │ - 90: istore 5 │ │ │ │ - 92: goto 23 │ │ │ │ - 95: aload_1 │ │ │ │ - 96: invokevirtual #45 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ - 99: areturn │ │ │ │ + 15: arraylength │ │ │ │ + 16: istore_3 │ │ │ │ + 17: iconst_0 │ │ │ │ + 18: istore_2 │ │ │ │ + 19: iload_2 │ │ │ │ + 20: iload_3 │ │ │ │ + 21: if_icmpge 90 │ │ │ │ + 24: aload_0 │ │ │ │ + 25: iload_2 │ │ │ │ + 26: baload │ │ │ │ + 27: istore 4 │ │ │ │ + 29: getstatic #16 // Field HEX_DIGITS:[C │ │ │ │ + 32: astore 5 │ │ │ │ + 34: iload 4 │ │ │ │ + 36: iconst_4 │ │ │ │ + 37: iushr │ │ │ │ + 38: bipush 15 │ │ │ │ + 40: iand │ │ │ │ + 41: istore 6 │ │ │ │ + 43: aload 5 │ │ │ │ + 45: iload 6 │ │ │ │ + 47: caload │ │ │ │ + 48: istore 7 │ │ │ │ + 50: aload_1 │ │ │ │ + 51: iload 7 │ │ │ │ + 53: invokevirtual #41 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; │ │ │ │ + 56: pop │ │ │ │ + 57: getstatic #16 // Field HEX_DIGITS:[C │ │ │ │ + 60: astore 5 │ │ │ │ + 62: iload 4 │ │ │ │ + 64: bipush 15 │ │ │ │ + 66: iand │ │ │ │ + 67: istore 6 │ │ │ │ + 69: aload 5 │ │ │ │ + 71: iload 6 │ │ │ │ + 73: caload │ │ │ │ + 74: istore 7 │ │ │ │ + 76: aload_1 │ │ │ │ + 77: iload 7 │ │ │ │ + 79: invokevirtual #41 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; │ │ │ │ + 82: pop │ │ │ │ + 83: iload_2 │ │ │ │ + 84: iconst_1 │ │ │ │ + 85: iadd │ │ │ │ + 86: istore_2 │ │ │ │ + 87: goto 19 │ │ │ │ + 90: aload_1 │ │ │ │ + 91: invokevirtual #45 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; │ │ │ │ + 94: areturn │ │ │ │ │ │ │ │ private static int getHexadecimalDigitValue(char); │ │ │ │ descriptor: (C)I │ │ │ │ flags: (0x000a) ACC_PRIVATE, ACC_STATIC │ │ │ │ Code: │ │ │ │ stack=300, locals=5, args_size=1 │ │ │ │ 0: bipush 97 │ │ ├── com/google/android/apps/authenticator/dataimport/Importer.class │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ @@ -596,122 +596,120 @@ │ │ │ │ 8: ifeq 0 │ │ │ │ 11: return │ │ │ │ │ │ │ │ private boolean tryImportPreferencesFromBundle(android.os.Bundle, android.content.SharedPreferences); │ │ │ │ descriptor: (Landroid/os/Bundle;Landroid/content/SharedPreferences;)Z │ │ │ │ flags: (0x0002) ACC_PRIVATE │ │ │ │ Code: │ │ │ │ - stack=300, locals=12, args_size=3 │ │ │ │ + stack=300, locals=11, args_size=3 │ │ │ │ 0: aload_2 │ │ │ │ 1: invokeinterface #179, 1 // InterfaceMethod android/content/SharedPreferences.edit:()Landroid/content/SharedPreferences$Editor; │ │ │ │ 6: astore_3 │ │ │ │ 7: aload_1 │ │ │ │ 8: invokevirtual #45 // Method android/os/Bundle.keySet:()Ljava/util/Set; │ │ │ │ - 11: astore 4 │ │ │ │ - 13: aload 4 │ │ │ │ - 15: invokeinterface #182, 1 // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator; │ │ │ │ - 20: astore 5 │ │ │ │ - 22: aload 5 │ │ │ │ - 24: invokeinterface #71, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z │ │ │ │ - 29: istore 6 │ │ │ │ - 31: iload 6 │ │ │ │ - 33: ifeq 249 │ │ │ │ - 36: aload 5 │ │ │ │ - 38: invokeinterface #75, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; │ │ │ │ - 43: checkcast #77 // class java/lang/String │ │ │ │ - 46: astore 7 │ │ │ │ - 48: aload_1 │ │ │ │ - 49: aload 7 │ │ │ │ - 51: invokevirtual #186 // Method android/os/Bundle.get:(Ljava/lang/String;)Ljava/lang/Object; │ │ │ │ - 54: astore 8 │ │ │ │ - 56: aload 8 │ │ │ │ - 58: instanceof #188 // class java/lang/Boolean │ │ │ │ - 61: istore 6 │ │ │ │ - 63: iload 6 │ │ │ │ - 65: ifeq 96 │ │ │ │ - 68: aload 8 │ │ │ │ - 70: checkcast #188 // class java/lang/Boolean │ │ │ │ - 73: astore 8 │ │ │ │ - 75: aload 8 │ │ │ │ - 77: invokevirtual #191 // Method java/lang/Boolean.booleanValue:()Z │ │ │ │ - 80: istore 6 │ │ │ │ - 82: aload_3 │ │ │ │ - 83: aload 7 │ │ │ │ - 85: iload 6 │ │ │ │ - 87: invokeinterface #197, 3 // InterfaceMethod android/content/SharedPreferences$Editor.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; │ │ │ │ - 92: pop │ │ │ │ - 93: goto 22 │ │ │ │ - 96: aload 8 │ │ │ │ - 98: instanceof #199 // class java/lang/Float │ │ │ │ - 101: istore 6 │ │ │ │ - 103: iload 6 │ │ │ │ - 105: ifeq 136 │ │ │ │ - 108: aload 8 │ │ │ │ - 110: checkcast #199 // class java/lang/Float │ │ │ │ - 113: astore 8 │ │ │ │ - 115: aload 8 │ │ │ │ - 117: invokevirtual #203 // Method java/lang/Float.floatValue:()F │ │ │ │ - 120: fstore 9 │ │ │ │ - 122: aload_3 │ │ │ │ - 123: aload 7 │ │ │ │ - 125: fload 9 │ │ │ │ - 127: invokeinterface #207, 3 // InterfaceMethod android/content/SharedPreferences$Editor.putFloat:(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor; │ │ │ │ - 132: pop │ │ │ │ - 133: goto 22 │ │ │ │ - 136: aload 8 │ │ │ │ - 138: instanceof #136 // class java/lang/Integer │ │ │ │ - 141: istore 6 │ │ │ │ - 143: iload 6 │ │ │ │ - 145: ifeq 176 │ │ │ │ - 148: aload 8 │ │ │ │ - 150: checkcast #136 // class java/lang/Integer │ │ │ │ - 153: astore 8 │ │ │ │ - 155: aload 8 │ │ │ │ - 157: invokevirtual #211 // Method java/lang/Integer.intValue:()I │ │ │ │ - 160: istore 6 │ │ │ │ - 162: aload_3 │ │ │ │ - 163: aload 7 │ │ │ │ - 165: iload 6 │ │ │ │ - 167: invokeinterface #215, 3 // InterfaceMethod android/content/SharedPreferences$Editor.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; │ │ │ │ - 172: pop │ │ │ │ - 173: goto 22 │ │ │ │ - 176: aload 8 │ │ │ │ - 178: instanceof #217 // class java/lang/Long │ │ │ │ - 181: istore 6 │ │ │ │ - 183: iload 6 │ │ │ │ - 185: ifeq 216 │ │ │ │ - 188: aload 8 │ │ │ │ - 190: checkcast #217 // class java/lang/Long │ │ │ │ - 193: astore 8 │ │ │ │ - 195: aload 8 │ │ │ │ - 197: invokevirtual #221 // Method java/lang/Long.longValue:()J │ │ │ │ - 200: lstore 10 │ │ │ │ - 202: aload_3 │ │ │ │ - 203: aload 7 │ │ │ │ - 205: lload 10 │ │ │ │ - 207: invokeinterface #225, 4 // InterfaceMethod android/content/SharedPreferences$Editor.putLong:(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; │ │ │ │ - 212: pop │ │ │ │ - 213: goto 22 │ │ │ │ - 216: aload 8 │ │ │ │ - 218: instanceof #77 // class java/lang/String │ │ │ │ - 221: istore 6 │ │ │ │ - 223: iload 6 │ │ │ │ - 225: ifeq 22 │ │ │ │ - 228: aload 8 │ │ │ │ - 230: checkcast #77 // class java/lang/String │ │ │ │ - 233: astore 8 │ │ │ │ - 235: aload_3 │ │ │ │ - 236: aload 7 │ │ │ │ - 238: aload 8 │ │ │ │ - 240: invokeinterface #229, 3 // InterfaceMethod android/content/SharedPreferences$Editor.putString:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ │ │ - 245: pop │ │ │ │ - 246: goto 22 │ │ │ │ - 249: aload_3 │ │ │ │ - 250: invokeinterface #232, 1 // InterfaceMethod android/content/SharedPreferences$Editor.commit:()Z │ │ │ │ - 255: ireturn │ │ │ │ + 11: invokeinterface #182, 1 // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator; │ │ │ │ + 16: astore 4 │ │ │ │ + 18: aload 4 │ │ │ │ + 20: invokeinterface #71, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z │ │ │ │ + 25: istore 5 │ │ │ │ + 27: iload 5 │ │ │ │ + 29: ifeq 245 │ │ │ │ + 32: aload 4 │ │ │ │ + 34: invokeinterface #75, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; │ │ │ │ + 39: checkcast #77 // class java/lang/String │ │ │ │ + 42: astore 6 │ │ │ │ + 44: aload_1 │ │ │ │ + 45: aload 6 │ │ │ │ + 47: invokevirtual #186 // Method android/os/Bundle.get:(Ljava/lang/String;)Ljava/lang/Object; │ │ │ │ + 50: astore 7 │ │ │ │ + 52: aload 7 │ │ │ │ + 54: instanceof #188 // class java/lang/Boolean │ │ │ │ + 57: istore 5 │ │ │ │ + 59: iload 5 │ │ │ │ + 61: ifeq 92 │ │ │ │ + 64: aload 7 │ │ │ │ + 66: checkcast #188 // class java/lang/Boolean │ │ │ │ + 69: astore 7 │ │ │ │ + 71: aload 7 │ │ │ │ + 73: invokevirtual #191 // Method java/lang/Boolean.booleanValue:()Z │ │ │ │ + 76: istore 5 │ │ │ │ + 78: aload_3 │ │ │ │ + 79: aload 6 │ │ │ │ + 81: iload 5 │ │ │ │ + 83: invokeinterface #197, 3 // InterfaceMethod android/content/SharedPreferences$Editor.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; │ │ │ │ + 88: pop │ │ │ │ + 89: goto 18 │ │ │ │ + 92: aload 7 │ │ │ │ + 94: instanceof #199 // class java/lang/Float │ │ │ │ + 97: istore 5 │ │ │ │ + 99: iload 5 │ │ │ │ + 101: ifeq 132 │ │ │ │ + 104: aload 7 │ │ │ │ + 106: checkcast #199 // class java/lang/Float │ │ │ │ + 109: astore 7 │ │ │ │ + 111: aload 7 │ │ │ │ + 113: invokevirtual #203 // Method java/lang/Float.floatValue:()F │ │ │ │ + 116: fstore 8 │ │ │ │ + 118: aload_3 │ │ │ │ + 119: aload 6 │ │ │ │ + 121: fload 8 │ │ │ │ + 123: invokeinterface #207, 3 // InterfaceMethod android/content/SharedPreferences$Editor.putFloat:(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor; │ │ │ │ + 128: pop │ │ │ │ + 129: goto 18 │ │ │ │ + 132: aload 7 │ │ │ │ + 134: instanceof #136 // class java/lang/Integer │ │ │ │ + 137: istore 5 │ │ │ │ + 139: iload 5 │ │ │ │ + 141: ifeq 172 │ │ │ │ + 144: aload 7 │ │ │ │ + 146: checkcast #136 // class java/lang/Integer │ │ │ │ + 149: astore 7 │ │ │ │ + 151: aload 7 │ │ │ │ + 153: invokevirtual #211 // Method java/lang/Integer.intValue:()I │ │ │ │ + 156: istore 5 │ │ │ │ + 158: aload_3 │ │ │ │ + 159: aload 6 │ │ │ │ + 161: iload 5 │ │ │ │ + 163: invokeinterface #215, 3 // InterfaceMethod android/content/SharedPreferences$Editor.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; │ │ │ │ + 168: pop │ │ │ │ + 169: goto 18 │ │ │ │ + 172: aload 7 │ │ │ │ + 174: instanceof #217 // class java/lang/Long │ │ │ │ + 177: istore 5 │ │ │ │ + 179: iload 5 │ │ │ │ + 181: ifeq 212 │ │ │ │ + 184: aload 7 │ │ │ │ + 186: checkcast #217 // class java/lang/Long │ │ │ │ + 189: astore 7 │ │ │ │ + 191: aload 7 │ │ │ │ + 193: invokevirtual #221 // Method java/lang/Long.longValue:()J │ │ │ │ + 196: lstore 9 │ │ │ │ + 198: aload_3 │ │ │ │ + 199: aload 6 │ │ │ │ + 201: lload 9 │ │ │ │ + 203: invokeinterface #225, 4 // InterfaceMethod android/content/SharedPreferences$Editor.putLong:(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; │ │ │ │ + 208: pop │ │ │ │ + 209: goto 18 │ │ │ │ + 212: aload 7 │ │ │ │ + 214: instanceof #77 // class java/lang/String │ │ │ │ + 217: istore 5 │ │ │ │ + 219: iload 5 │ │ │ │ + 221: ifeq 18 │ │ │ │ + 224: aload 7 │ │ │ │ + 226: checkcast #77 // class java/lang/String │ │ │ │ + 229: astore 7 │ │ │ │ + 231: aload_3 │ │ │ │ + 232: aload 6 │ │ │ │ + 234: aload 7 │ │ │ │ + 236: invokeinterface #229, 3 // InterfaceMethod android/content/SharedPreferences$Editor.putString:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ │ │ + 241: pop │ │ │ │ + 242: goto 18 │ │ │ │ + 245: aload_3 │ │ │ │ + 246: invokeinterface #232, 1 // InterfaceMethod android/content/SharedPreferences$Editor.commit:()Z │ │ │ │ + 251: ireturn │ │ │ │ │ │ │ │ public void importFromBundle(android.os.Bundle, com.google.android.apps.authenticator.AccountDb, android.content.SharedPreferences); │ │ │ │ descriptor: (Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;Landroid/content/SharedPreferences;)V │ │ │ │ flags: (0x0001) ACC_PUBLIC │ │ │ │ Code: │ │ │ │ stack=300, locals=7, args_size=4 │ │ │ │ 0: ldc #9 // String accountDb │ │ ├── com/google/android/apps/authenticator/timesync/NetworkTimeProvider.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -183,16 +183,16 @@ │ │ │ │ // 312: aload_2 │ │ │ │ // 313: aload_3 │ │ │ │ // 314: invokespecial java/io/IOException.:(Ljava/lang/String;)V │ │ │ │ // 317: aload_2 │ │ │ │ // 318: athrow │ │ │ │ // 319: astore_3 │ │ │ │ // 320: goto 160 │ │ │ │ - // 323: astore 4 │ │ │ │ - // 325: goto 261 │ │ │ │ + // 323: astore_2 │ │ │ │ + // 324: goto 261 │ │ │ │ // Exceptions: │ │ │ │ // Try Handler │ │ │ │ // Start End Start End Type │ │ │ │ // ----- ----- ----- ----- ------------------------------------------------ │ │ │ │ // 51 55 162 181 Lorg/apache/http/client/ClientProtocolException; │ │ │ │ // 51 55 181 217 Ljava/io/IOException; │ │ │ │ // 57 63 162 181 Lorg/apache/http/client/ClientProtocolException; │ │ │ │ @@ -211,16 +211,16 @@ │ │ │ │ // 139 146 319 323 Ljava/io/IOException; │ │ │ │ // 153 160 319 323 Ljava/io/IOException; │ │ │ │ // 217 224 138 162 Any │ │ │ │ // 226 231 264 319 Lorg/apache/http/impl/cookie/DateParseException; │ │ │ │ // 226 231 138 162 Any │ │ │ │ // 233 238 264 319 Lorg/apache/http/impl/cookie/DateParseException; │ │ │ │ // 233 238 138 162 Any │ │ │ │ - // 240 247 323 328 Ljava/io/IOException; │ │ │ │ - // 254 261 323 328 Ljava/io/IOException; │ │ │ │ + // 240 247 323 327 Ljava/io/IOException; │ │ │ │ + // 254 261 323 327 Ljava/io/IOException; │ │ │ │ // 266 269 138 162 Any │ │ │ │ // 270 273 138 162 Any │ │ │ │ // 274 278 138 162 Any │ │ │ │ // 283 288 138 162 Any │ │ │ │ // 290 295 138 162 Any │ │ │ │ // 301 306 138 162 Any │ │ │ │ // 307 311 138 162 Any ├── smali/com/google/android/apps/authenticator/AccountDb$OtpType.smali │ @@ -114,54 +114,51 @@ │ .locals 5 │ .param p0, "i" # Ljava/lang/Integer; │ │ .prologue │ .line 87 │ invoke-static {}, Lcom/google/android/apps/authenticator/AccountDb$OtpType;->values()[Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ - move-result-object v0 │ + move-result-object v2 │ │ - .local v0, "arr$":[Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ - array-length v2, v0 │ + array-length v3, v2 │ │ - .local v2, "len$":I │ const/4 v1, 0x0 │ │ - .local v1, "i$":I │ :goto_0 │ - if-ge v1, v2, :cond_1 │ + if-ge v1, v3, :cond_1 │ │ - aget-object v3, v0, v1 │ + aget-object v0, v2, v1 │ │ .line 88 │ - .local v3, "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ - iget-object v4, v3, Lcom/google/android/apps/authenticator/AccountDb$OtpType;->value:Ljava/lang/Integer; │ + .local v0, "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ + iget-object v4, v0, Lcom/google/android/apps/authenticator/AccountDb$OtpType;->value:Ljava/lang/Integer; │ │ invoke-virtual {v4, p0}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z │ │ move-result v4 │ │ if-eqz v4, :cond_0 │ │ .line 93 │ - .end local v3 # "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ + .end local v0 # "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ :goto_1 │ - return-object v3 │ + return-object v0 │ │ .line 87 │ - .restart local v3 # "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ + .restart local v0 # "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ :cond_0 │ add-int/lit8 v1, v1, 0x1 │ │ goto :goto_0 │ │ .line 93 │ - .end local v3 # "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ + .end local v0 # "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ :cond_1 │ - const/4 v3, 0x0 │ + const/4 v0, 0x0 │ │ goto :goto_1 │ .end method │ │ .method public static valueOf(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ .locals 1 │ .param p0, "name" # Ljava/lang/String; ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)V │ .locals 0 │ + .param p1, "this$1" # Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ .prologue │ .line 1068 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;->this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$pin:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;Ljava/lang/String;)V │ .locals 0 │ + .param p1, "this$1" # Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ .prologue │ .line 1079 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;->this$1:Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener; │ │ iput-object p2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;->val$pin:Ljava/lang/String; ├── smali/com/google/android/apps/authenticator/AccountDb.smali │ @@ -133,20 +133,22 @@ │ │ const-string v5, "provider" │ │ aput-object v5, v3, v4 │ │ const/16 v4, 0x8 │ │ + .line 108 │ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v5 │ │ aput-object v5, v3, v4 │ │ + .line 102 │ invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-virtual {v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V │ │ .line 110 │ @@ -181,20 +183,22 @@ │ │ aput-object v4, v3, v6 │ │ const-string v4, "provider" │ │ aput-object v4, v3, v7 │ │ + .line 115 │ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v4 │ │ aput-object v4, v3, v8 │ │ + .line 113 │ invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-virtual {v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V │ │ .line 117 │ @@ -278,322 +282,317 @@ │ │ move-result-object v0 │ │ return-object v0 │ .end method │ │ .method private getAccountDbOpenFailedErrorString(Landroid/content/Context;)Ljava/lang/String; │ - .locals 17 │ + .locals 16 │ .param p1, "context" # Landroid/content/Context; │ │ .prologue │ .line 138 │ invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; │ │ - move-result-object v15 │ + move-result-object v12 │ │ - iget-object v2, v15, Landroid/content/pm/ApplicationInfo;->dataDir:Ljava/lang/String; │ + iget-object v1, v12, Landroid/content/pm/ApplicationInfo;->dataDir:Ljava/lang/String; │ │ .line 139 │ - .local v2, "dataPackageDir":Ljava/lang/String; │ - const-string v15, "databases" │ + .local v1, "dataPackageDir":Ljava/lang/String; │ + const-string v12, "databases" │ │ move-object/from16 v0, p1 │ │ - invoke-virtual {v0, v15}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File; │ + invoke-virtual {v0, v12}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File; │ │ - move-result-object v15 │ + move-result-object v12 │ │ - invoke-virtual {v15}, Ljava/io/File;->getParent()Ljava/lang/String; │ + invoke-virtual {v12}, Ljava/io/File;->getParent()Ljava/lang/String; │ │ - move-result-object v3 │ + move-result-object v2 │ │ .line 140 │ - .local v3, "databaseDirPathname":Ljava/lang/String; │ - const-string v15, "databases" │ + .local v2, "databaseDirPathname":Ljava/lang/String; │ + const-string v12, "databases" │ │ move-object/from16 v0, p1 │ │ - invoke-virtual {v0, v15}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File; │ + invoke-virtual {v0, v12}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File; │ │ - move-result-object v15 │ + move-result-object v12 │ │ - invoke-virtual {v15}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; │ + invoke-virtual {v12}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; │ │ - move-result-object v4 │ + move-result-object v3 │ │ .line 141 │ - .local v4, "databasePathname":Ljava/lang/String; │ - const/4 v15, 0x3 │ + .local v3, "databasePathname":Ljava/lang/String; │ + const/4 v12, 0x3 │ │ - new-array v6, v15, [Ljava/lang/String; │ + new-array v5, v12, [Ljava/lang/String; │ │ - const/4 v15, 0x0 │ + const/4 v12, 0x0 │ │ - aput-object v2, v6, v15 │ + aput-object v1, v5, v12 │ │ - const/4 v15, 0x1 │ + const/4 v12, 0x1 │ │ - aput-object v3, v6, v15 │ + aput-object v2, v5, v12 │ │ - const/4 v15, 0x2 │ + const/4 v12, 0x2 │ │ - aput-object v4, v6, v15 │ + aput-object v3, v5, v12 │ │ .line 142 │ - .local v6, "dirsToStat":[Ljava/lang/String; │ - new-instance v8, Ljava/lang/StringBuilder; │ + .local v5, "dirsToStat":[Ljava/lang/String; │ + new-instance v7, Ljava/lang/StringBuilder; │ │ - invoke-direct {v8}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v7}, Ljava/lang/StringBuilder;->()V │ │ .line 143 │ - .local v8, "error":Ljava/lang/StringBuilder; │ + .local v7, "error":Ljava/lang/StringBuilder; │ invoke-static {}, Landroid/os/Process;->myUid()I │ │ - move-result v11 │ + move-result v8 │ │ .line 144 │ - .local v11, "myUid":I │ - move-object v1, v6 │ + .local v8, "myUid":I │ + array-length v13, v5 │ │ - .local v1, "arr$":[Ljava/lang/String; │ - array-length v10, v1 │ - │ - .local v10, "len$":I │ - const/4 v9, 0x0 │ + const/4 v12, 0x0 │ │ - .local v9, "i$":I │ :goto_0 │ - if-ge v9, v10, :cond_3 │ + if-ge v12, v13, :cond_3 │ │ - aget-object v5, v1, v9 │ + aget-object v4, v5, v12 │ │ .line 146 │ - .local v5, "directory":Ljava/lang/String; │ + .local v4, "directory":Ljava/lang/String; │ :try_start_0 │ - invoke-static {v5}, Lcom/google/android/apps/authenticator/FileUtilities;->getStat(Ljava/lang/String;)Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ + invoke-static {v4}, Lcom/google/android/apps/authenticator/FileUtilities;->getStat(Ljava/lang/String;)Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ :try_end_0 │ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1 │ │ - move-result-object v14 │ + move-result-object v11 │ │ .line 147 │ - .local v14, "stat":Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ - const/4 v12, 0x0 │ + .local v11, "stat":Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ + const/4 v9, 0x0 │ │ .line 149 │ - .local v12, "ownerUidName":Ljava/lang/String; │ + .local v9, "ownerUidName":Ljava/lang/String; │ :try_start_1 │ - iget v15, v14, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;->uid:I │ + iget v14, v11, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;->uid:I │ │ - if-nez v15, :cond_0 │ + if-nez v14, :cond_0 │ │ .line 150 │ - const-string v12, "root" │ + const-string v9, "root" │ :try_end_1 │ .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0 │ .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1 │ │ .line 158 │ :goto_1 │ :try_start_2 │ - new-instance v15, Ljava/lang/StringBuilder; │ + new-instance v14, Ljava/lang/StringBuilder; │ │ - invoke-direct {v15}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v14}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - const-string v16, " directory stat (my UID: " │ + const-string v15, " directory stat (my UID: " │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v15, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ .line 159 │ - if-nez v12, :cond_2 │ + if-nez v9, :cond_2 │ │ .line 160 │ - const-string v15, "): " │ + const-string v14, "): " │ │ - invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ .line 164 │ :goto_2 │ - new-instance v15, Ljava/lang/StringBuilder; │ + new-instance v14, Ljava/lang/StringBuilder; │ │ - invoke-direct {v15}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v14}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v14}, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;->toString()Ljava/lang/String; │ + invoke-virtual {v11}, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;->toString()Ljava/lang/String; │ │ - move-result-object v16 │ + move-result-object v15 │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - const-string v16, "\n" │ + const-string v15, "\n" │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ :try_end_2 │ .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_1 │ │ .line 144 │ - .end local v12 # "ownerUidName":Ljava/lang/String; │ - .end local v14 # "stat":Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ + .end local v9 # "ownerUidName":Ljava/lang/String; │ + .end local v11 # "stat":Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ :goto_3 │ - add-int/lit8 v9, v9, 0x1 │ + add-int/lit8 v12, v12, 0x1 │ │ goto :goto_0 │ │ .line 152 │ - .restart local v12 # "ownerUidName":Ljava/lang/String; │ - .restart local v14 # "stat":Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ + .restart local v9 # "ownerUidName":Ljava/lang/String; │ + .restart local v11 # "stat":Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ :cond_0 │ :try_start_3 │ invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; │ │ - move-result-object v13 │ + move-result-object v10 │ │ .line 153 │ - .local v13, "packageManager":Landroid/content/pm/PackageManager; │ - if-eqz v13, :cond_1 │ + .local v10, "packageManager":Landroid/content/pm/PackageManager; │ + if-eqz v10, :cond_1 │ │ - iget v15, v14, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;->uid:I │ + iget v14, v11, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;->uid:I │ │ - invoke-virtual {v13, v15}, Landroid/content/pm/PackageManager;->getNameForUid(I)Ljava/lang/String; │ + invoke-virtual {v10, v14}, Landroid/content/pm/PackageManager;->getNameForUid(I)Ljava/lang/String; │ :try_end_3 │ .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_0 │ .catch Ljava/io/IOException; {:try_start_3 .. :try_end_3} :catch_1 │ │ - move-result-object v12 │ + move-result-object v9 │ │ :goto_4 │ goto :goto_1 │ │ :cond_1 │ - const/4 v12, 0x0 │ + const/4 v9, 0x0 │ │ goto :goto_4 │ │ .line 155 │ - .end local v13 # "packageManager":Landroid/content/pm/PackageManager; │ + .end local v10 # "packageManager":Landroid/content/pm/PackageManager; │ :catch_0 │ - move-exception v7 │ + move-exception v6 │ │ .line 156 │ - .local v7, "e":Ljava/lang/Exception; │ + .local v6, "e":Ljava/lang/Exception; │ :try_start_4 │ - invoke-virtual {v7}, Ljava/lang/Exception;->toString()Ljava/lang/String; │ + invoke-virtual {v6}, Ljava/lang/Exception;->toString()Ljava/lang/String; │ │ - move-result-object v12 │ + move-result-object v9 │ │ goto :goto_1 │ │ .line 162 │ - .end local v7 # "e":Ljava/lang/Exception; │ + .end local v6 # "e":Ljava/lang/Exception; │ :cond_2 │ - new-instance v15, Ljava/lang/StringBuilder; │ + new-instance v14, Ljava/lang/StringBuilder; │ │ - invoke-direct {v15}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v14}, Ljava/lang/StringBuilder;->()V │ │ - const-string v16, ", dir owner UID name: " │ + const-string v15, ", dir owner UID name: " │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v15, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - const-string v16, "): " │ + const-string v15, "): " │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ :try_end_4 │ .catch Ljava/io/IOException; {:try_start_4 .. :try_end_4} :catch_1 │ │ goto :goto_2 │ │ .line 165 │ - .end local v12 # "ownerUidName":Ljava/lang/String; │ - .end local v14 # "stat":Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ + .end local v9 # "ownerUidName":Ljava/lang/String; │ + .end local v11 # "stat":Lcom/google/android/apps/authenticator/FileUtilities$StatStruct; │ :catch_1 │ - move-exception v7 │ + move-exception v6 │ │ .line 166 │ - .local v7, "e":Ljava/io/IOException; │ - new-instance v15, Ljava/lang/StringBuilder; │ + .local v6, "e":Ljava/io/IOException; │ + new-instance v14, Ljava/lang/StringBuilder; │ │ - invoke-direct {v15}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v14}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - const-string v16, " directory stat threw an exception: " │ + const-string v15, " directory stat threw an exception: " │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v15, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - const-string v16, "\n" │ + const-string v15, "\n" │ │ - invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v15 │ + move-result-object v14 │ │ - invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ goto :goto_3 │ │ .line 169 │ - .end local v5 # "directory":Ljava/lang/String; │ - .end local v7 # "e":Ljava/io/IOException; │ + .end local v4 # "directory":Ljava/lang/String; │ + .end local v6 # "e":Ljava/io/IOException; │ :cond_3 │ - invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v15 │ + move-result-object v12 │ │ - return-object v15 │ + return-object v12 │ .end method │ │ .method private getNames()Landroid/database/Cursor; │ .locals 9 │ │ .prologue │ const/4 v2, 0x0 │ @@ -771,14 +770,15 @@ │ │ const/4 v4, 0x1 │ │ new-array v4, v4, [Ljava/lang/Object; │ │ aput-object p1, v4, v5 │ │ + .line 186 │ invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v3 │ │ new-array v4, v5, [Ljava/lang/String; │ │ invoke-virtual {p0, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; │ @@ -837,14 +837,15 @@ │ invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;->tryCloseCursor(Landroid/database/Cursor;)V │ │ throw v3 │ │ :cond_0 │ invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;->tryCloseCursor(Landroid/database/Cursor;)V │ │ + .line 195 │ return-object v2 │ .end method │ │ .method private openDatabase(Landroid/content/Context;)Landroid/database/sqlite/SQLiteDatabase; │ .locals 5 │ .param p1, "context" # Landroid/content/Context; │ │ @@ -895,14 +896,15 @@ │ │ const-string v4, "Failed to open AccountDb database in three tries.\n" │ │ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v3 │ │ + .line 131 │ invoke-direct {p0, p1}, Lcom/google/android/apps/authenticator/AccountDb;->getAccountDbOpenFailedErrorString(Landroid/content/Context;)Ljava/lang/String; │ │ move-result-object v4 │ │ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v3 │ @@ -1145,14 +1147,15 @@ │ │ .line 425 │ const/4 v3, 0x0 │ │ .line 438 │ invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;->tryCloseCursor(Landroid/database/Cursor;)V │ │ + .line 436 │ :goto_0 │ return v3 │ │ .line 427 │ :cond_0 │ :try_start_1 │ invoke-interface {v0}, Landroid/database/Cursor;->getCount()I │ @@ -1464,22 +1467,24 @@ │ │ move-result v4 │ │ if-nez v4, :cond_1 │ │ const-string v4, "@google.com" │ │ + .line 321 │ invoke-virtual {v1, v4}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z │ │ move-result v4 │ │ if-nez v4, :cond_1 │ │ const-string v4, "Google Internal 2Factor" │ │ + .line 322 │ invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ :try_end_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ move-result v4 │ │ if-eqz v4, :cond_2 │ @@ -1530,17 +1535,17 @@ │ │ const/4 v1, 0x1 │ │ .line 221 │ :goto_0 │ invoke-static {v0}, Lcom/google/android/apps/authenticator/AccountDb;->tryCloseCursor(Landroid/database/Cursor;)V │ │ + .line 219 │ return v1 │ │ - .line 219 │ :cond_0 │ const/4 v1, 0x0 │ │ goto :goto_0 │ │ .line 221 │ :catchall_0 │ @@ -1670,39 +1675,43 @@ │ │ .line 377 │ if-eqz p6, :cond_0 │ │ .line 378 │ const-string v3, "provider" │ │ + .line 380 │ invoke-virtual {p6}, Ljava/lang/Boolean;->booleanValue()Z │ │ move-result v2 │ │ if-eqz v2, :cond_2 │ │ const/4 v2, 0x1 │ │ :goto_0 │ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v2 │ │ + .line 378 │ invoke-virtual {v1, v3, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V │ │ .line 382 │ :cond_0 │ iget-object v2, p0, Lcom/google/android/apps/authenticator/AccountDb;->mDatabase:Landroid/database/sqlite/SQLiteDatabase; │ │ const-string v3, "accounts" │ │ + .line 383 │ invoke-static {p3}, Lcom/google/android/apps/authenticator/AccountDb;->whereClause(Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 382 │ invoke-virtual {v2, v3, v1, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I │ │ move-result v0 │ │ .line 384 │ .local v0, "updated":I │ if-nez v0, :cond_1 │ @@ -1714,14 +1723,14 @@ │ │ invoke-virtual {v2, v3, v5, v1}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J │ │ .line 387 │ :cond_1 │ return-void │ │ - .line 378 │ + .line 380 │ .end local v0 # "updated":I │ :cond_2 │ const/4 v2, 0x0 │ │ goto :goto_0 │ .end method ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$8.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 913 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ iput-object p2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;->val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ @@ -47,36 +48,41 @@ │ │ .prologue │ .line 916 │ iget-object v0, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ iget-object v1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;->val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ + .line 917 │ invoke-static {v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;->access$1300(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; │ │ move-result-object v1 │ │ iget-object v2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;->val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ + .line 918 │ invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;->access$1400(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; │ │ move-result-object v2 │ │ const/4 v3, 0x0 │ │ iget-object v4, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;->val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ + .line 920 │ invoke-static {v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;->access$1500(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ move-result-object v4 │ │ iget-object v5, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;->val$saveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ + .line 921 │ invoke-static {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;->access$1600(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/Integer; │ │ move-result-object v5 │ │ + .line 916 │ invoke-static/range {v0 .. v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->access$1200(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ .line 922 │ return-void │ .end method ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener.smali │ @@ -125,15 +125,15 @@ │ │ goto :goto_1 │ .end method │ │ │ # virtual methods │ .method public onClick(Landroid/view/View;)V │ - .locals 7 │ + .locals 8 │ .param p1, "v" # Landroid/view/View; │ │ .prologue │ .line 1046 │ invoke-direct {p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;->findAccountPositionInList()I │ │ move-result v2 │ @@ -215,28 +215,28 @@ │ .line 1067 │ iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;->mHandler:Landroid/os/Handler; │ │ new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1; │ │ invoke-direct {v4, p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$1;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;)V │ │ - const-wide/16 v5, 0x1388 │ + const-wide/16 v6, 0x1388 │ │ - invoke-virtual {v3, v4, v5, v6}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z │ + invoke-virtual {v3, v4, v6, v7}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z │ │ .line 1078 │ iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;->mHandler:Landroid/os/Handler; │ │ new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2; │ │ invoke-direct {v4, p0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener$2;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;Ljava/lang/String;)V │ │ - const-wide/32 v5, 0x1d4c0 │ + const-wide/32 v6, 0x1d4c0 │ │ - invoke-virtual {v3, v4, v5, v6}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z │ + invoke-virtual {v3, v4, v6, v7}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z │ │ .line 1090 │ .end local v1 # "pin":Ljava/lang/String; │ :goto_0 │ return-void │ │ .line 1053 │ @@ -249,15 +249,17 @@ │ │ move-result-object v3 │ │ iget-object v4, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ iget-object v5, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$NextOtpButtonListener;->mAccount:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ + .line 1055 │ invoke-static {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;->access$900(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; │ │ move-result-object v5 │ │ + .line 1054 │ invoke-interface {v3, v4, v5, v0}, Lcom/google/android/apps/authenticator/OptionalFeatures;->onAuthenticatorActivityGetNextOtpFailed(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Lcom/google/android/apps/authenticator/OtpSourceException;)V │ │ goto :goto_0 │ .end method ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$10.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 961 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/FileUtilities.smali │ @@ -128,20 +128,22 @@ │ │ aput-object v8, v6, v7 │ │ const/4 v7, 0x1 │ │ const-string v8, "android.os.FileUtils$FileStatus" │ │ + .line 64 │ invoke-static {v8}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; │ │ move-result-object v8 │ │ aput-object v8, v6, v7 │ │ + .line 63 │ invoke-virtual {v4, v5, v6}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; │ │ move-result-object v4 │ │ const/4 v5, 0x0 │ │ const/4 v6, 0x2 │ @@ -152,20 +154,22 @@ │ │ aput-object p0, v6, v7 │ │ const/4 v7, 0x1 │ │ aput-object v1, v6, v7 │ │ + .line 65 │ invoke-virtual {v4, v5, v6}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; │ │ move-result-object v4 │ │ check-cast v4, Ljava/lang/Boolean; │ │ + .line 62 │ invoke-virtual {v4}, Ljava/lang/Boolean;->booleanValue()Z │ │ move-result v3 │ │ .line 66 │ .local v3, "success":Z │ if-eqz v3, :cond_0 │ @@ -386,14 +390,15 @@ │ │ const/4 v5, 0x3 │ │ sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; │ │ aput-object v6, v4, v5 │ │ + .line 42 │ invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; │ │ move-result-object v2 │ │ const/4 v3, 0x0 │ │ const/4 v4, 0x4 │ @@ -404,14 +409,15 @@ │ │ aput-object p0, v4, v5 │ │ const/4 v5, 0x1 │ │ const/16 v6, 0x1c0 │ │ + .line 43 │ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v6 │ │ aput-object v6, v4, v5 │ │ const/4 v5, 0x2 │ @@ -436,14 +442,15 @@ │ │ invoke-virtual {v2, v3, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; │ │ move-result-object v2 │ │ check-cast v2, Ljava/lang/Integer; │ │ + .line 41 │ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I │ :try_end_0 │ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 │ │ move-result v1 │ │ .line 49 ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter.smali │ @@ -111,14 +111,15 @@ │ │ move-result-object v0 │ │ .line 1139 │ .local v0, "buttonView":Landroid/view/View; │ const v8, 0x7f0a0018 │ │ + .line 1140 │ invoke-virtual {v6, v8}, Landroid/view/View;->findViewById(I)Landroid/view/View; │ │ move-result-object v2 │ │ check-cast v2, Lcom/google/android/apps/authenticator/CountdownIndicator; │ │ .line 1142 ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$7.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 886 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$7;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -45,14 +46,15 @@ │ .line 889 │ new-instance v1, Landroid/content/Intent; │ │ const-string v2, "android.intent.action.VIEW" │ │ const-string v3, "market://search?q=pname:com.google.zxing.client.android" │ │ + .line 890 │ invoke-static {v3}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; │ │ move-result-object v3 │ │ invoke-direct {v1, v2, v3}, Landroid/content/Intent;->(Ljava/lang/String;Landroid/net/Uri;)V │ │ .line 892 │ @@ -77,14 +79,15 @@ │ new-instance v1, Landroid/content/Intent; │ │ .end local v1 # "intent":Landroid/content/Intent; │ const-string v2, "android.intent.action.VIEW" │ │ const-string v3, "https://zxing.googlecode.com/files/BarcodeScanner3.1.apk" │ │ + .line 896 │ invoke-static {v3}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; │ │ move-result-object v3 │ │ invoke-direct {v1, v2, v3}, Landroid/content/Intent;->(Ljava/lang/String;Landroid/net/Uri;)V │ │ .line 897 ├── smali/com/google/android/apps/authenticator/AuthenticatorApplication.smali │ @@ -19,26 +19,27 @@ │ .method public onCreate()V │ .locals 1 │ │ .prologue │ .line 38 │ invoke-super {p0}, Landroid/app/Application;->onCreate()V │ │ - .line 45 │ + .line 46 │ :try_start_0 │ invoke-virtual {p0}, Lcom/google/android/apps/authenticator/AuthenticatorApplication;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v0 │ │ invoke-virtual {v0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; │ │ move-result-object v0 │ │ iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->dataDir:Ljava/lang/String; │ │ + .line 45 │ invoke-static {v0}, Lcom/google/android/apps/authenticator/FileUtilities;->restrictAccessToOwnerOnly(Ljava/lang/String;)V │ :try_end_0 │ .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0 │ │ .line 53 │ :goto_0 │ invoke-virtual {p0}, Lcom/google/android/apps/authenticator/AuthenticatorApplication;->getApplicationContext()Landroid/content/Context; ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$5.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$user:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 725 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ iput-object p2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;->val$user:Ljava/lang/String; ├── smali/com/google/android/apps/authenticator/FileUtilities$StatStruct.smali │ @@ -68,14 +68,15 @@ │ │ new-array v2, v2, [Ljava/lang/Object; │ │ const/4 v3, 0x0 │ │ iget v4, p0, Lcom/google/android/apps/authenticator/FileUtilities$StatStruct;->dev:I │ │ + .line 122 │ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v4 │ │ aput-object v4, v2, v3 │ │ const/4 v3, 0x1 │ @@ -194,14 +195,15 @@ │ │ invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v4 │ │ aput-object v4, v2, v3 │ │ + .line 119 │ invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-direct {v0, v1}, Ljava/lang/String;->(Ljava/lang/String;)V │ │ return-object v0 ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$3.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 257 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$11.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 983 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$11;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/AddOtherAccountActivity$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ .prologue │ .line 48 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$2;->this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 239 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$12.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 1178 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$12;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/PasscodeGenerator.smali │ @@ -206,15 +206,15 @@ │ :cond_0 │ return-object v1 │ .end method │ │ │ # virtual methods │ .method public generateResponseCode(J)Ljava/lang/String; │ - .locals 2 │ + .locals 3 │ .param p1, "state" # J │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/security/GeneralSecurityException; │ } │ .end annotation │ │ @@ -240,15 +240,15 @@ │ │ move-result-object v1 │ │ return-object v1 │ .end method │ │ .method public generateResponseCode(J[B)Ljava/lang/String; │ - .locals 4 │ + .locals 5 │ .param p1, "state" # J │ .param p3, "challenge" # [B │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/security/GeneralSecurityException; │ } │ .end annotation │ @@ -272,26 +272,29 @@ │ │ add-int/lit8 v1, v1, 0x8 │ │ invoke-static {v1}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer; │ │ move-result-object v1 │ │ + .line 133 │ invoke-virtual {v1, p1, p2}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer; │ │ move-result-object v1 │ │ const/4 v2, 0x0 │ │ array-length v3, p3 │ │ + .line 134 │ invoke-virtual {v1, p3, v2, v3}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer; │ │ move-result-object v1 │ │ + .line 135 │ invoke-virtual {v1}, Ljava/nio/ByteBuffer;->array()[B │ │ move-result-object v0 │ │ .line 136 │ .local v0, "value":[B │ invoke-virtual {p0, v0}, Lcom/google/android/apps/authenticator/PasscodeGenerator;->generateResponseCode([B)Ljava/lang/String; │ @@ -360,15 +363,15 @@ │ │ move-result-object v4 │ │ return-object v4 │ .end method │ │ .method public verifyResponseCode(JLjava/lang/String;)Z │ - .locals 2 │ + .locals 3 │ .param p1, "challenge" # J │ .param p3, "response" # Ljava/lang/String; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/security/GeneralSecurityException; │ } │ .end annotation │ @@ -387,15 +390,15 @@ │ │ move-result v1 │ │ return v1 │ .end method │ │ .method public verifyTimeoutCode(JLjava/lang/String;)Z │ - .locals 6 │ + .locals 7 │ .param p1, "currentInterval" # J │ .param p3, "timeoutCode" # Ljava/lang/String; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/security/GeneralSecurityException; │ } │ .end annotation │ @@ -448,21 +451,21 @@ │ neg-int v1, p4 │ │ .local v1, "i":I │ :goto_0 │ if-gt v1, p5, :cond_0 │ │ .line 222 │ - int-to-long v3, v1 │ + int-to-long v4, v1 │ │ - sub-long v3, p2, v3 │ + sub-long v4, p2, v4 │ │ - const/4 v5, 0x0 │ + const/4 v3, 0x0 │ │ - invoke-virtual {p0, v3, v4, v5}, Lcom/google/android/apps/authenticator/PasscodeGenerator;->generateResponseCode(J[B)Ljava/lang/String; │ + invoke-virtual {p0, v4, v5, v3}, Lcom/google/android/apps/authenticator/PasscodeGenerator;->generateResponseCode(J[B)Ljava/lang/String; │ │ move-result-object v0 │ │ .line 223 │ .local v0, "candidate":Ljava/lang/String; │ invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ├── smali/com/google/android/apps/authenticator/HexEncoding.smali │ @@ -107,28 +107,30 @@ │ .restart local v5 # "resultOffset":I │ :goto_0 │ if-ge v0, v1, :cond_1 │ │ .line 58 │ add-int/lit8 v4, v5, 0x1 │ │ + .line 59 │ .end local v5 # "resultOffset":I │ .restart local v4 # "resultOffset":I │ invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C │ │ move-result v6 │ │ invoke-static {v6}, Lcom/google/android/apps/authenticator/HexEncoding;->getHexadecimalDigitValue(C)I │ │ move-result v6 │ │ shl-int/lit8 v6, v6, 0x4 │ │ add-int/lit8 v7, v0, 0x1 │ │ + .line 60 │ invoke-virtual {p0, v7}, Ljava/lang/String;->charAt(I)C │ │ move-result v7 │ │ invoke-static {v7}, Lcom/google/android/apps/authenticator/HexEncoding;->getHexadecimalDigitValue(C)I │ │ move-result v7 │ @@ -150,77 +152,72 @@ │ │ .line 62 │ :cond_1 │ return-object v2 │ .end method │ │ .method public static encode([B)Ljava/lang/String; │ - .locals 7 │ + .locals 6 │ .param p0, "data" # [B │ │ .prologue │ .line 35 │ - new-instance v4, Ljava/lang/StringBuilder; │ + new-instance v1, Ljava/lang/StringBuilder; │ │ - array-length v5, p0 │ + array-length v2, p0 │ │ - mul-int/lit8 v5, v5, 0x2 │ + mul-int/lit8 v2, v2, 0x2 │ │ - invoke-direct {v4, v5}, Ljava/lang/StringBuilder;->(I)V │ + invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(I)V │ │ .line 36 │ - .local v4, "result":Ljava/lang/StringBuilder; │ - move-object v0, p0 │ - │ - .local v0, "arr$":[B │ - array-length v3, v0 │ + .local v1, "result":Ljava/lang/StringBuilder; │ + array-length v3, p0 │ │ - .local v3, "len$":I │ const/4 v2, 0x0 │ │ - .local v2, "i$":I │ :goto_0 │ if-ge v2, v3, :cond_0 │ │ - aget-byte v1, v0, v2 │ + aget-byte v0, p0, v2 │ │ .line 37 │ - .local v1, "b":B │ - sget-object v5, Lcom/google/android/apps/authenticator/HexEncoding;->HEX_DIGITS:[C │ + .local v0, "b":B │ + sget-object v4, Lcom/google/android/apps/authenticator/HexEncoding;->HEX_DIGITS:[C │ │ - ushr-int/lit8 v6, v1, 0x4 │ + ushr-int/lit8 v5, v0, 0x4 │ │ - and-int/lit8 v6, v6, 0xf │ + and-int/lit8 v5, v5, 0xf │ │ - aget-char v5, v5, v6 │ + aget-char v4, v4, v5 │ │ - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; │ + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; │ │ .line 38 │ - sget-object v5, Lcom/google/android/apps/authenticator/HexEncoding;->HEX_DIGITS:[C │ + sget-object v4, Lcom/google/android/apps/authenticator/HexEncoding;->HEX_DIGITS:[C │ │ - and-int/lit8 v6, v1, 0xf │ + and-int/lit8 v5, v0, 0xf │ │ - aget-char v5, v5, v6 │ + aget-char v4, v4, v5 │ │ - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; │ + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; │ │ .line 36 │ add-int/lit8 v2, v2, 0x1 │ │ goto :goto_0 │ │ .line 40 │ - .end local v1 # "b":B │ + .end local v0 # "b":B │ :cond_0 │ - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v5 │ + move-result-object v2 │ │ - return-object v5 │ + return-object v2 │ .end method │ │ .method private static getHexadecimalDigitValue(C)I │ .locals 3 │ .param p0, "c" # C │ │ .prologue │ @@ -294,14 +291,15 @@ │ │ const-string v2, "\' (0x" │ │ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v1 │ │ + .line 74 │ invoke-static {p0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v1 ├── smali/com/google/android/apps/authenticator/EnterKeyActivity.smali │ @@ -304,32 +304,35 @@ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ .line 108 │ iget-object v0, p0, Lcom/google/android/apps/authenticator/EnterKeyActivity;->mAccountName:Landroid/widget/EditText; │ │ + .line 109 │ invoke-virtual {v0}, Landroid/widget/EditText;->getText()Landroid/text/Editable; │ │ move-result-object v0 │ │ invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; │ │ move-result-object v1 │ │ + .line 110 │ invoke-direct {p0}, Lcom/google/android/apps/authenticator/EnterKeyActivity;->getEnteredKey()Ljava/lang/String; │ │ move-result-object v2 │ │ const/4 v3, 0x0 │ │ sget-object v5, Lcom/google/android/apps/authenticator/AccountDb;->DEFAULT_HOTP_COUNTER:Ljava/lang/Integer; │ │ move-object v0, p0 │ │ + .line 108 │ invoke-static/range {v0 .. v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->saveSecret(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)Z │ │ .line 114 │ invoke-virtual {p0}, Lcom/google/android/apps/authenticator/EnterKeyActivity;->exitWizard()V │ │ .line 116 │ :cond_0 ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$4.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 350 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/Base32String.smali │ @@ -206,237 +206,236 @@ │ │ invoke-direct {v0}, Ljava/lang/CloneNotSupportedException;->()V │ │ throw v0 │ .end method │ │ .method protected decodeInternal(Ljava/lang/String;)[B │ - .locals 14 │ + .locals 13 │ .param p1, "encoded" # Ljava/lang/String; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lcom/google/android/apps/authenticator/Base32String$DecodingException; │ } │ .end annotation │ │ .prologue │ + const/4 v8, 0x0 │ + │ .line 71 │ invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v9 │ │ - const-string v12, "-" │ + const-string v10, "-" │ │ - const-string v13, "" │ + const-string v11, "" │ │ - invoke-virtual {v11, v12, v13}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ + invoke-virtual {v9, v10, v11}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v9 │ │ - const-string v12, " " │ + const-string v10, " " │ │ - const-string v13, "" │ + const-string v11, "" │ │ - invoke-virtual {v11, v12, v13}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ + invoke-virtual {v9, v10, v11}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object p1 │ │ .line 76 │ - const-string v11, "[=]*$" │ + const-string v9, "[=]*$" │ │ - const-string v12, "" │ + const-string v10, "" │ │ - invoke-virtual {p1, v11, v12}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ + invoke-virtual {p1, v9, v10}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object p1 │ │ .line 79 │ - sget-object v11, Ljava/util/Locale;->US:Ljava/util/Locale; │ + sget-object v9, Ljava/util/Locale;->US:Ljava/util/Locale; │ │ - invoke-virtual {p1, v11}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ + invoke-virtual {p1, v9}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; │ │ move-result-object p1 │ │ .line 80 │ invoke-virtual {p1}, Ljava/lang/String;->length()I │ │ - move-result v11 │ + move-result v9 │ │ - if-nez v11, :cond_1 │ + if-nez v9, :cond_1 │ │ .line 81 │ - const/4 v11, 0x0 │ - │ - new-array v10, v11, [B │ + new-array v7, v8, [B │ │ .line 106 │ :cond_0 │ - return-object v10 │ + return-object v7 │ │ .line 83 │ :cond_1 │ invoke-virtual {p1}, Ljava/lang/String;->length()I │ │ - move-result v4 │ + move-result v3 │ │ .line 84 │ - .local v4, "encodedLength":I │ - iget v11, p0, Lcom/google/android/apps/authenticator/Base32String;->SHIFT:I │ + .local v3, "encodedLength":I │ + iget v9, p0, Lcom/google/android/apps/authenticator/Base32String;->SHIFT:I │ │ - mul-int/2addr v11, v4 │ + mul-int/2addr v9, v3 │ │ - div-int/lit8 v9, v11, 0x8 │ + div-int/lit8 v6, v9, 0x8 │ │ .line 85 │ - .local v9, "outLength":I │ - new-array v10, v9, [B │ + .local v6, "outLength":I │ + new-array v7, v6, [B │ │ .line 86 │ - .local v10, "result":[B │ - const/4 v2, 0x0 │ + .local v7, "result":[B │ + const/4 v1, 0x0 │ │ .line 87 │ - .local v2, "buffer":I │ - const/4 v7, 0x0 │ + .local v1, "buffer":I │ + const/4 v4, 0x0 │ │ .line 88 │ - .local v7, "next":I │ - const/4 v1, 0x0 │ + .local v4, "next":I │ + const/4 v0, 0x0 │ │ .line 89 │ - .local v1, "bitsLeft":I │ + .local v0, "bitsLeft":I │ invoke-virtual {p1}, Ljava/lang/String;->toCharArray()[C │ │ - move-result-object v0 │ + move-result-object v10 │ │ - .local v0, "arr$":[C │ - array-length v6, v0 │ + array-length v11, v10 │ │ - .local v6, "len$":I │ - const/4 v5, 0x0 │ + move v9, v8 │ │ - .local v5, "i$":I │ - move v8, v7 │ + move v5, v4 │ │ - .end local v7 # "next":I │ - .local v8, "next":I │ + .end local v4 # "next":I │ + .local v5, "next":I │ :goto_0 │ - if-ge v5, v6, :cond_0 │ + if-ge v9, v11, :cond_0 │ │ - aget-char v3, v0, v5 │ + aget-char v2, v10, v9 │ │ .line 90 │ - .local v3, "c":C │ - iget-object v11, p0, Lcom/google/android/apps/authenticator/Base32String;->CHAR_MAP:Ljava/util/HashMap; │ + .local v2, "c":C │ + iget-object v8, p0, Lcom/google/android/apps/authenticator/Base32String;->CHAR_MAP:Ljava/util/HashMap; │ │ - invoke-static {v3}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; │ + invoke-static {v2}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; │ │ move-result-object v12 │ │ - invoke-virtual {v11, v12}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z │ + invoke-virtual {v8, v12}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z │ │ - move-result v11 │ + move-result v8 │ │ - if-nez v11, :cond_2 │ + if-nez v8, :cond_2 │ │ .line 91 │ - new-instance v11, Lcom/google/android/apps/authenticator/Base32String$DecodingException; │ + new-instance v8, Lcom/google/android/apps/authenticator/Base32String$DecodingException; │ │ - new-instance v12, Ljava/lang/StringBuilder; │ + new-instance v9, Ljava/lang/StringBuilder; │ │ - invoke-direct {v12}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v9}, Ljava/lang/StringBuilder;->()V │ │ - const-string v13, "Illegal character: " │ + const-string v10, "Illegal character: " │ │ - invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v12 │ + move-result-object v9 │ │ - invoke-virtual {v12, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; │ + invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; │ │ - move-result-object v12 │ + move-result-object v9 │ │ - invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v12 │ + move-result-object v9 │ │ - invoke-direct {v11, v12}, Lcom/google/android/apps/authenticator/Base32String$DecodingException;->(Ljava/lang/String;)V │ + invoke-direct {v8, v9}, Lcom/google/android/apps/authenticator/Base32String$DecodingException;->(Ljava/lang/String;)V │ │ - throw v11 │ + throw v8 │ │ .line 93 │ :cond_2 │ - iget v11, p0, Lcom/google/android/apps/authenticator/Base32String;->SHIFT:I │ + iget v8, p0, Lcom/google/android/apps/authenticator/Base32String;->SHIFT:I │ │ - shl-int/2addr v2, v11 │ + shl-int/2addr v1, v8 │ │ .line 94 │ - iget-object v11, p0, Lcom/google/android/apps/authenticator/Base32String;->CHAR_MAP:Ljava/util/HashMap; │ + iget-object v8, p0, Lcom/google/android/apps/authenticator/Base32String;->CHAR_MAP:Ljava/util/HashMap; │ │ - invoke-static {v3}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; │ + invoke-static {v2}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; │ │ move-result-object v12 │ │ - invoke-virtual {v11, v12}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; │ + invoke-virtual {v8, v12}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; │ │ - move-result-object v11 │ + move-result-object v8 │ │ - check-cast v11, Ljava/lang/Integer; │ + check-cast v8, Ljava/lang/Integer; │ │ - invoke-virtual {v11}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v8}, Ljava/lang/Integer;->intValue()I │ │ - move-result v11 │ + move-result v8 │ │ iget v12, p0, Lcom/google/android/apps/authenticator/Base32String;->MASK:I │ │ - and-int/2addr v11, v12 │ + and-int/2addr v8, v12 │ │ - or-int/2addr v2, v11 │ + or-int/2addr v1, v8 │ │ .line 95 │ - iget v11, p0, Lcom/google/android/apps/authenticator/Base32String;->SHIFT:I │ + iget v8, p0, Lcom/google/android/apps/authenticator/Base32String;->SHIFT:I │ │ - add-int/2addr v1, v11 │ + add-int/2addr v0, v8 │ │ .line 96 │ - const/16 v11, 0x8 │ + const/16 v8, 0x8 │ │ - if-lt v1, v11, :cond_3 │ + if-lt v0, v8, :cond_3 │ │ .line 97 │ - add-int/lit8 v7, v8, 0x1 │ + add-int/lit8 v4, v5, 0x1 │ │ - .end local v8 # "next":I │ - .restart local v7 # "next":I │ - add-int/lit8 v11, v1, -0x8 │ + .end local v5 # "next":I │ + .restart local v4 # "next":I │ + add-int/lit8 v8, v0, -0x8 │ │ - shr-int v11, v2, v11 │ + shr-int v8, v1, v8 │ │ - int-to-byte v11, v11 │ + int-to-byte v8, v8 │ │ - aput-byte v11, v10, v8 │ + aput-byte v8, v7, v5 │ │ .line 98 │ - add-int/lit8 v1, v1, -0x8 │ + add-int/lit8 v0, v0, -0x8 │ │ .line 89 │ :goto_1 │ - add-int/lit8 v5, v5, 0x1 │ + add-int/lit8 v8, v9, 0x1 │ + │ + move v9, v8 │ │ - move v8, v7 │ + move v5, v4 │ │ - .end local v7 # "next":I │ - .restart local v8 # "next":I │ + .end local v4 # "next":I │ + .restart local v5 # "next":I │ goto :goto_0 │ │ :cond_3 │ - move v7, v8 │ + move v4, v5 │ │ - .end local v8 # "next":I │ - .restart local v7 # "next":I │ + .end local v5 # "next":I │ + .restart local v4 # "next":I │ goto :goto_1 │ .end method │ │ .method protected encodeInternal([B)Ljava/lang/String; │ .locals 10 │ .param p1, "data" # [B ├── smali/com/google/android/apps/authenticator/CheckCodeActivity.smali │ @@ -19,15 +19,15 @@ │ .line 42 │ invoke-direct {p0}, Landroid/app/Activity;->()V │ │ return-void │ .end method │ │ .method static getCheckCode(Ljava/lang/String;)Ljava/lang/String; │ - .locals 5 │ + .locals 6 │ .param p0, "secret" # Ljava/lang/String; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/security/GeneralSecurityException;, │ Lcom/google/android/apps/authenticator/Base32String$DecodingException; │ } │ .end annotation │ @@ -59,17 +59,17 @@ │ .line 97 │ new-instance v2, Lcom/google/android/apps/authenticator/PasscodeGenerator; │ │ invoke-direct {v2, v1}, Lcom/google/android/apps/authenticator/PasscodeGenerator;->(Ljavax/crypto/Mac;)V │ │ .line 98 │ .local v2, "pcg":Lcom/google/android/apps/authenticator/PasscodeGenerator; │ - const-wide/16 v3, 0x0 │ + const-wide/16 v4, 0x0 │ │ - invoke-virtual {v2, v3, v4}, Lcom/google/android/apps/authenticator/PasscodeGenerator;->generateResponseCode(J)Ljava/lang/String; │ + invoke-virtual {v2, v4, v5}, Lcom/google/android/apps/authenticator/PasscodeGenerator;->generateResponseCode(J)Ljava/lang/String; │ │ move-result-object v3 │ │ return-object v3 │ .end method │ │ │ @@ -284,20 +284,22 @@ │ │ const/4 v12, 0x1 │ │ new-array v12, v12, [Ljava/lang/Object; │ │ const/4 v13, 0x0 │ │ + .line 85 │ invoke-static {v10}, Landroid/text/TextUtils;->htmlEncode(Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v14 │ │ aput-object v14, v12, v13 │ │ + .line 84 │ invoke-static {v11, v12}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v2 │ │ .line 86 │ .local v2, "checkCodeMessage":Ljava/lang/String; │ invoke-static {v2}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned; ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 245 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/TotpCountdownTask.smali │ @@ -28,15 +28,15 @@ │ .field private final mRemainingTimeNotificationPeriod:J │ │ .field private mShouldStop:Z │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/TotpCounter;Lcom/google/android/apps/authenticator/TotpClock;J)V │ - .locals 2 │ + .locals 3 │ .param p1, "counter" # Lcom/google/android/apps/authenticator/TotpCounter; │ .param p2, "clock" # Lcom/google/android/apps/authenticator/TotpClock; │ .param p3, "remainingTimeNotificationPeriod" # J │ │ .prologue │ .line 62 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ @@ -110,59 +110,59 @@ │ │ .line 135 │ :cond_0 │ return-void │ .end method │ │ .method private getCounterValue(J)J │ - .locals 3 │ + .locals 5 │ .param p1, "time" # J │ │ .prologue │ .line 143 │ iget-object v0, p0, Lcom/google/android/apps/authenticator/TotpCountdownTask;->mCounter:Lcom/google/android/apps/authenticator/TotpCounter; │ │ invoke-static {p1, p2}, Lcom/google/android/apps/authenticator/Utilities;->millisToSeconds(J)J │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ - invoke-virtual {v0, v1, v2}, Lcom/google/android/apps/authenticator/TotpCounter;->getValueAtTime(J)J │ + invoke-virtual {v0, v2, v3}, Lcom/google/android/apps/authenticator/TotpCounter;->getValueAtTime(J)J │ │ move-result-wide v0 │ │ return-wide v0 │ .end method │ │ .method private getCounterValueAge(J)J │ - .locals 3 │ + .locals 5 │ .param p1, "time" # J │ │ .prologue │ .line 168 │ iget-object v0, p0, Lcom/google/android/apps/authenticator/TotpCountdownTask;->mCounter:Lcom/google/android/apps/authenticator/TotpCounter; │ │ invoke-direct {p0, p1, p2}, Lcom/google/android/apps/authenticator/TotpCountdownTask;->getCounterValue(J)J │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ - invoke-virtual {v0, v1, v2}, Lcom/google/android/apps/authenticator/TotpCounter;->getValueStartTime(J)J │ + invoke-virtual {v0, v2, v3}, Lcom/google/android/apps/authenticator/TotpCounter;->getValueStartTime(J)J │ │ move-result-wide v0 │ │ invoke-static {v0, v1}, Lcom/google/android/apps/authenticator/Utilities;->secondsToMillis(J)J │ │ move-result-wide v0 │ │ sub-long v0, p1, v0 │ │ return-wide v0 │ .end method │ │ .method private getTimeTillNextCounterValue(J)J │ - .locals 8 │ + .locals 9 │ .param p1, "time" # J │ │ .prologue │ .line 154 │ invoke-direct {p0, p1, p2}, Lcom/google/android/apps/authenticator/TotpCountdownTask;->getCounterValue(J)J │ │ move-result-wide v0 ├── smali/com/google/android/apps/authenticator/OtpProvider.smali │ @@ -20,32 +20,32 @@ │ .field private final mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; │ │ .field private final mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; │ │ │ # direct methods │ .method public constructor (ILcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V │ - .locals 3 │ + .locals 4 │ .param p1, "interval" # I │ .param p2, "accountDb" # Lcom/google/android/apps/authenticator/AccountDb; │ .param p3, "totpClock" # Lcom/google/android/apps/authenticator/TotpClock; │ │ .prologue │ .line 103 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ .line 104 │ iput-object p2, p0, Lcom/google/android/apps/authenticator/OtpProvider;->mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; │ │ .line 105 │ new-instance v0, Lcom/google/android/apps/authenticator/TotpCounter; │ │ - int-to-long v1, p1 │ + int-to-long v2, p1 │ │ - invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/TotpCounter;->(J)V │ + invoke-direct {v0, v2, v3}, Lcom/google/android/apps/authenticator/TotpCounter;->(J)V │ │ iput-object v0, p0, Lcom/google/android/apps/authenticator/OtpProvider;->mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; │ │ .line 106 │ iput-object p3, p0, Lcom/google/android/apps/authenticator/OtpProvider;->mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; │ │ .line 107 │ @@ -64,15 +64,15 @@ │ invoke-direct {p0, v0, p1, p2}, Lcom/google/android/apps/authenticator/OtpProvider;->(ILcom/google/android/apps/authenticator/AccountDb;Lcom/google/android/apps/authenticator/TotpClock;)V │ │ .line 101 │ return-void │ .end method │ │ .method private computePin(Ljava/lang/String;J[B)Ljava/lang/String; │ - .locals 5 │ + .locals 6 │ .param p1, "secret" # Ljava/lang/String; │ .param p2, "otp_state" # J │ .param p4, "challenge" # [B │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lcom/google/android/apps/authenticator/OtpSourceException; │ } │ @@ -116,29 +116,31 @@ │ :goto_0 │ invoke-direct {v1, v2, v3}, Lcom/google/android/apps/authenticator/PasscodeGenerator;->(Lcom/google/android/apps/authenticator/PasscodeGenerator$Signer;I)V │ │ .line 128 │ .local v1, "pcg":Lcom/google/android/apps/authenticator/PasscodeGenerator; │ if-nez p4, :cond_3 │ │ + .line 129 │ invoke-virtual {v1, p2, p3}, Lcom/google/android/apps/authenticator/PasscodeGenerator;->generateResponseCode(J)Ljava/lang/String; │ │ move-result-object v3 │ │ + .line 128 │ :goto_1 │ return-object v3 │ │ .line 125 │ .end local v1 # "pcg":Lcom/google/android/apps/authenticator/PasscodeGenerator; │ :cond_2 │ const/16 v3, 0x9 │ │ goto :goto_0 │ │ - .line 128 │ + .line 130 │ .restart local v1 # "pcg":Lcom/google/android/apps/authenticator/PasscodeGenerator; │ :cond_3 │ invoke-virtual {v1, p2, p3, p4}, Lcom/google/android/apps/authenticator/PasscodeGenerator;->generateResponseCode(J[B)Ljava/lang/String; │ :try_end_0 │ .catch Ljava/security/GeneralSecurityException; {:try_start_0 .. :try_end_0} :catch_0 │ │ move-result-object v3 │ @@ -193,47 +195,48 @@ │ │ move-result-object v4 │ │ .line 81 │ .local v4, "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ invoke-virtual {p0, p1}, Lcom/google/android/apps/authenticator/OtpProvider;->getSecret(Ljava/lang/String;)Ljava/lang/String; │ │ - move-result-object v3 │ + move-result-object v1 │ │ .line 83 │ - .local v3, "secret":Ljava/lang/String; │ - const-wide/16 v1, 0x0 │ + .local v1, "secret":Ljava/lang/String; │ + const-wide/16 v2, 0x0 │ │ .line 85 │ - .local v1, "otp_state":J │ + .local v2, "otp_state":J │ sget-object v5, Lcom/google/android/apps/authenticator/AccountDb$OtpType;->TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ if-ne v4, v5, :cond_2 │ │ .line 87 │ iget-object v5, p0, Lcom/google/android/apps/authenticator/OtpProvider;->mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; │ │ iget-object v6, p0, Lcom/google/android/apps/authenticator/OtpProvider;->mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; │ │ + .line 88 │ invoke-virtual {v6}, Lcom/google/android/apps/authenticator/TotpClock;->currentTimeMillis()J │ │ move-result-wide v6 │ │ invoke-static {v6, v7}, Lcom/google/android/apps/authenticator/Utilities;->millisToSeconds(J)J │ │ move-result-wide v6 │ │ invoke-virtual {v5, v6, v7}, Lcom/google/android/apps/authenticator/TotpCounter;->getValueAtTime(J)J │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ .line 96 │ :cond_1 │ :goto_0 │ - invoke-direct {p0, v3, v1, v2, p2}, Lcom/google/android/apps/authenticator/OtpProvider;->computePin(Ljava/lang/String;J[B)Ljava/lang/String; │ + invoke-direct {p0, v1, v2, v3, p2}, Lcom/google/android/apps/authenticator/OtpProvider;->computePin(Ljava/lang/String;J[B)Ljava/lang/String; │ │ move-result-object v5 │ │ return-object v5 │ │ .line 89 │ :cond_2 │ @@ -253,15 +256,15 @@ │ │ move-result-object v0 │ │ .line 93 │ .local v0, "counter":Ljava/lang/Integer; │ invoke-virtual {v0}, Ljava/lang/Integer;->longValue()J │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ goto :goto_0 │ .end method │ │ │ # virtual methods │ .method public enumerateAccounts(Ljava/util/Collection;)I ├── smali/com/google/android/apps/authenticator/TotpCounter.smali │ @@ -7,15 +7,15 @@ │ .field private final mStartTime:J │ │ .field private final mTimeStep:J │ │ │ # direct methods │ .method public constructor (J)V │ - .locals 2 │ + .locals 3 │ .param p1, "timeStep" # J │ │ .prologue │ .line 60 │ const-wide/16 v0, 0x0 │ │ invoke-direct {p0, p1, p2, v0, v1}, Lcom/google/android/apps/authenticator/TotpCounter;->(JJ)V │ @@ -76,15 +76,15 @@ │ iput-wide p3, p0, Lcom/google/android/apps/authenticator/TotpCounter;->mStartTime:J │ │ .line 79 │ return-void │ .end method │ │ .method private static assertValidTime(J)V │ - .locals 3 │ + .locals 4 │ .param p0, "time" # J │ │ .prologue │ .line 144 │ const-wide/16 v0, 0x0 │ │ cmp-long v0, p0, v0 │ @@ -140,15 +140,15 @@ │ .line 87 │ iget-wide v0, p0, Lcom/google/android/apps/authenticator/TotpCounter;->mTimeStep:J │ │ return-wide v0 │ .end method │ │ .method public getValueAtTime(J)J │ - .locals 6 │ + .locals 7 │ .param p1, "time" # J │ │ .prologue │ .line 107 │ invoke-static {p1, p2}, Lcom/google/android/apps/authenticator/TotpCounter;->assertValidTime(J)V │ │ .line 124 │ @@ -186,15 +186,15 @@ │ │ div-long/2addr v2, v4 │ │ goto :goto_0 │ .end method │ │ .method public getValueStartTime(J)J │ - .locals 4 │ + .locals 5 │ .param p1, "value" # J │ │ .prologue │ .line 140 │ iget-wide v0, p0, Lcom/google/android/apps/authenticator/TotpCounter;->mStartTime:J │ │ iget-wide v2, p0, Lcom/google/android/apps/authenticator/TotpCounter;->mTimeStep:J ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$6.smali │ @@ -26,14 +26,15 @@ │ │ .field final synthetic val$user:Ljava/lang/String; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/widget/EditText;Ljava/lang/String;Landroid/content/Context;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 743 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ iput-object p2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;->val$nameEdit:Landroid/widget/EditText; │ │ @@ -104,14 +105,15 @@ │ │ .line 751 │ :cond_1 │ iget-object v0, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ iget-object v2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + .line 752 │ invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->access$1100(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; │ │ move-result-object v2 │ │ iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;->val$user:Ljava/lang/String; │ │ invoke-virtual {v2, v3}, Lcom/google/android/apps/authenticator/AccountDb;->getSecret(Ljava/lang/String;)Ljava/lang/String; │ @@ -130,21 +132,23 @@ │ │ invoke-virtual {v4, v5}, Lcom/google/android/apps/authenticator/AccountDb;->getType(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ move-result-object v4 │ │ iget-object v5, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + .line 753 │ invoke-static {v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->access$1100(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; │ │ move-result-object v5 │ │ iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$6;->val$user:Ljava/lang/String; │ │ invoke-virtual {v5, v6}, Lcom/google/android/apps/authenticator/AccountDb;->getCounter(Ljava/lang/String;)Ljava/lang/Integer; │ │ move-result-object v5 │ │ + .line 751 │ invoke-static/range {v0 .. v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->access$1200(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ goto :goto_0 │ .end method ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity$9.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$id:I │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ .prologue │ .line 930 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;->this$0:Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ iput p2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9;->val$id:I ├── smali/com/google/android/apps/authenticator/AddOtherAccountActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/AddOtherAccountActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ .prologue │ .line 42 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/AddOtherAccountActivity$1;->this$0:Lcom/google/android/apps/authenticator/AddOtherAccountActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/AuthenticatorActivity.smali │ @@ -102,14 +102,15 @@ │ .line 107 │ new-instance v0, Ljava/lang/StringBuilder; │ │ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V │ │ const-class v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + .line 108 │ invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String; │ │ move-result-object v1 │ │ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v0 │ @@ -122,14 +123,15 @@ │ │ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v0 │ │ sput-object v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->ACTION_SCAN_BARCODE:Ljava/lang/String; │ │ + .line 107 │ return-void │ .end method │ │ .method public constructor ()V │ .locals 1 │ │ .prologue │ @@ -139,15 +141,14 @@ │ .line 115 │ const/4 v0, 0x0 │ │ new-array v0, v0, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ iput-object v0, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - .line 1215 │ return-void │ .end method │ │ .method static synthetic access$1100(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)Lcom/google/android/apps/authenticator/AccountDb; │ .locals 1 │ .param p0, "x0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ @@ -283,15 +284,15 @@ │ .line 74 │ iget-object v0, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserList:Landroid/widget/ListView; │ │ return-object v0 │ .end method │ │ .method static synthetic access$500(Lcom/google/android/apps/authenticator/AuthenticatorActivity;J)V │ - .locals 0 │ + .locals 1 │ .param p0, "x0" # Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ .param p1, "x1" # J │ │ .prologue │ .line 74 │ invoke-direct {p0, p1, p2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->setTotpCountdownPhaseFromTimeTillNextValue(J)V │ │ @@ -332,38 +333,44 @@ │ │ .prologue │ .line 1003 │ new-instance v0, Landroid/app/AlertDialog$Builder; │ │ invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ │ + .line 1004 │ invoke-virtual {v0, p1}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ + .line 1005 │ invoke-virtual {v0, p2}, Landroid/app/AlertDialog$Builder;->setMessage(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ + .line 1006 │ invoke-virtual {v0, p3}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ const v1, 0x7f060037 │ │ const/4 v2, 0x0 │ │ + .line 1007 │ invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ + .line 1008 │ invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v0 │ │ + .line 1003 │ return-object v0 │ .end method │ │ .method private displayHowItWorksInstructions()V │ .locals 2 │ │ .prologue │ @@ -394,18 +401,20 @@ │ │ new-instance v1, Landroid/content/ComponentName; │ │ const-class v2, Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ invoke-direct {v1, p0, v2}, Landroid/content/ComponentName;->(Landroid/content/Context;Ljava/lang/Class;)V │ │ + .line 815 │ invoke-virtual {v0, v1}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent; │ │ move-result-object v0 │ │ + .line 814 │ return-object v0 │ .end method │ │ .method private getRenameClickListener(Landroid/content/Context;Ljava/lang/String;Landroid/widget/EditText;)Landroid/content/DialogInterface$OnClickListener; │ .locals 1 │ .param p1, "context" # Landroid/content/Context; │ .param p2, "user" # Ljava/lang/String; │ @@ -474,15 +483,15 @@ │ │ invoke-direct {p0, v1, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->interpretScanResult(Landroid/net/Uri;Z)V │ │ goto :goto_0 │ .end method │ │ .method private idToEmail(J)Ljava/lang/String; │ - .locals 2 │ + .locals 3 │ .param p1, "id" # J │ │ .prologue │ .line 649 │ iget-object v0, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ long-to-int v1, p1 │ @@ -959,24 +968,26 @@ │ │ if-eqz v1, :cond_9 │ │ move-object/from16 v0, p0 │ │ iget-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; │ │ + .line 571 │ invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AccountDb;->getCounter(Ljava/lang/String;)Ljava/lang/Integer; │ │ move-result-object v1 │ │ if-ne v5, v1, :cond_9 │ │ move-object/from16 v0, p0 │ │ iget-object v1, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; │ │ + .line 572 │ invoke-virtual {v1, v2}, Lcom/google/android/apps/authenticator/AccountDb;->getType(Ljava/lang/String;)Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ move-result-object v1 │ │ if-eq v4, v1, :cond_0 │ │ .line 576 │ @@ -1102,14 +1113,15 @@ │ │ move-result-object v1 │ │ check-cast v1, Landroid/os/Vibrator; │ │ const-wide/16 v2, 0xc8 │ │ + .line 638 │ invoke-virtual {v1, v2, v3}, Landroid/os/Vibrator;->vibrate(J)V │ │ move v1, v6 │ │ .line 643 │ .end local v0 # "accountDb":Lcom/google/android/apps/authenticator/AccountDb; │ :goto_0 │ @@ -1210,50 +1222,52 @@ │ .local v0, "error":Landroid/content/ActivityNotFoundException; │ invoke-virtual {p0, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->showDialog(I)V │ │ goto :goto_0 │ .end method │ │ .method private setTotpCountdownPhase(D)V │ - .locals 0 │ + .locals 1 │ .param p1, "phase" # D │ │ .prologue │ .line 386 │ iput-wide p1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpCountdownPhase:D │ │ .line 387 │ invoke-direct {p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->updateCountdownIndicators()V │ │ .line 388 │ return-void │ .end method │ │ .method private setTotpCountdownPhaseFromTimeTillNextValue(J)V │ - .locals 4 │ + .locals 5 │ .param p1, "millisRemaining" # J │ │ .prologue │ .line 391 │ long-to-double v0, p1 │ │ iget-object v2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; │ │ + .line 392 │ invoke-virtual {v2}, Lcom/google/android/apps/authenticator/TotpCounter;->getTimeStep()J │ │ move-result-wide v2 │ │ invoke-static {v2, v3}, Lcom/google/android/apps/authenticator/Utilities;->secondsToMillis(J)J │ │ move-result-wide v2 │ │ long-to-double v2, v2 │ │ div-double/2addr v0, v2 │ │ + .line 391 │ invoke-direct {p0, v0, v1}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->setTotpCountdownPhase(D)V │ │ .line 393 │ return-void │ .end method │ │ .method private showSettings()V │ @@ -1299,30 +1313,30 @@ │ │ .line 378 │ :cond_0 │ return-void │ .end method │ │ .method private updateCodesAndStartTotpCountdownTask()V │ - .locals 5 │ + .locals 6 │ │ .prologue │ .line 346 │ invoke-direct {p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->stopTotpCountdownTask()V │ │ .line 348 │ new-instance v0, Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ iget-object v1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; │ │ iget-object v2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; │ │ - const-wide/16 v3, 0x64 │ + const-wide/16 v4, 0x64 │ │ - invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/android/apps/authenticator/TotpCountdownTask;->(Lcom/google/android/apps/authenticator/TotpCounter;Lcom/google/android/apps/authenticator/TotpClock;J)V │ + invoke-direct {v0, v1, v2, v4, v5}, Lcom/google/android/apps/authenticator/TotpCountdownTask;->(Lcom/google/android/apps/authenticator/TotpCounter;Lcom/google/android/apps/authenticator/TotpClock;J)V │ │ iput-object v0, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ .line 350 │ iget-object v0, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpCountdownTask:Lcom/google/android/apps/authenticator/TotpCountdownTask; │ │ new-instance v1, Lcom/google/android/apps/authenticator/AuthenticatorActivity$4; │ @@ -1365,14 +1379,15 @@ │ │ move-result-object v3 │ │ .line 403 │ .local v3, "listEntry":Landroid/view/View; │ const v4, 0x7f0a0018 │ │ + .line 404 │ invoke-virtual {v3, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View; │ │ move-result-object v1 │ │ check-cast v1, Lcom/google/android/apps/authenticator/CountdownIndicator; │ │ .line 405 │ @@ -1628,740 +1643,789 @@ │ move-object v0, v1 │ │ .line 788 │ goto :goto_0 │ .end method │ │ .method public onContextItemSelected(Landroid/view/MenuItem;)Z │ - .locals 15 │ + .locals 18 │ .param p1, "item" # Landroid/view/MenuItem; │ │ .prologue │ .line 670 │ invoke-interface/range {p1 .. p1}, Landroid/view/MenuItem;->getMenuInfo()Landroid/view/ContextMenu$ContextMenuInfo; │ │ - move-result-object v3 │ + move-result-object v5 │ │ - check-cast v3, Landroid/widget/AdapterView$AdapterContextMenuInfo; │ + check-cast v5, Landroid/widget/AdapterView$AdapterContextMenuInfo; │ │ .line 672 │ - .local v3, "info":Landroid/widget/AdapterView$AdapterContextMenuInfo; │ - iget-wide v11, v3, Landroid/widget/AdapterView$AdapterContextMenuInfo;->id:J │ + .local v5, "info":Landroid/widget/AdapterView$AdapterContextMenuInfo; │ + iget-wide v14, v5, Landroid/widget/AdapterView$AdapterContextMenuInfo;->id:J │ + │ + move-object/from16 v0, p0 │ │ - invoke-direct {p0, v11, v12}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->idToEmail(J)Ljava/lang/String; │ + invoke-direct {v0, v14, v15}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->idToEmail(J)Ljava/lang/String; │ │ - move-result-object v9 │ + move-result-object v11 │ │ .line 673 │ - .local v9, "user":Ljava/lang/String; │ + .local v11, "user":Ljava/lang/String; │ invoke-interface/range {p1 .. p1}, Landroid/view/MenuItem;->getItemId()I │ │ - move-result v11 │ + move-result v13 │ │ - packed-switch v11, :pswitch_data_0 │ + packed-switch v13, :pswitch_data_0 │ │ .line 737 │ invoke-super/range {p0 .. p1}, Lcom/google/android/apps/authenticator/testability/TestableActivity;->onContextItemSelected(Landroid/view/MenuItem;)Z │ │ - move-result v11 │ + move-result v13 │ │ :goto_0 │ - return v11 │ + return v13 │ │ .line 675 │ :pswitch_0 │ - const-string v11, "clipboard" │ + const-string v13, "clipboard" │ │ - invoke-virtual {p0, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ + .line 676 │ + move-object/from16 v0, p0 │ │ - move-result-object v0 │ + invoke-virtual {v0, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ - check-cast v0, Landroid/text/ClipboardManager; │ + move-result-object v2 │ + │ + check-cast v2, Landroid/text/ClipboardManager; │ │ .line 677 │ - .local v0, "clipboard":Landroid/text/ClipboardManager; │ - iget-object v11, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ + .local v2, "clipboard":Landroid/text/ClipboardManager; │ + move-object/from16 v0, p0 │ │ - iget-wide v12, v3, Landroid/widget/AdapterView$AdapterContextMenuInfo;->id:J │ + iget-object v13, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - long-to-int v12, v12 │ + iget-wide v14, v5, Landroid/widget/AdapterView$AdapterContextMenuInfo;->id:J │ │ - aget-object v11, v11, v12 │ + long-to-int v14, v14 │ │ - invoke-static {v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;->access$800(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; │ + aget-object v13, v13, v14 │ │ - move-result-object v11 │ + invoke-static {v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;->access$800(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Ljava/lang/String; │ + │ + move-result-object v13 │ │ - invoke-virtual {v0, v11}, Landroid/text/ClipboardManager;->setText(Ljava/lang/CharSequence;)V │ + invoke-virtual {v2, v13}, Landroid/text/ClipboardManager;->setText(Ljava/lang/CharSequence;)V │ │ .line 678 │ - const/4 v11, 0x1 │ + const/4 v13, 0x1 │ │ goto :goto_0 │ │ .line 680 │ - .end local v0 # "clipboard":Landroid/text/ClipboardManager; │ + .end local v2 # "clipboard":Landroid/text/ClipboardManager; │ :pswitch_1 │ - new-instance v4, Landroid/content/Intent; │ + new-instance v6, Landroid/content/Intent; │ │ - const-string v11, "android.intent.action.VIEW" │ + const-string v13, "android.intent.action.VIEW" │ │ - invoke-direct {v4, v11}, Landroid/content/Intent;->(Ljava/lang/String;)V │ + invoke-direct {v6, v13}, Landroid/content/Intent;->(Ljava/lang/String;)V │ │ .line 681 │ - .local v4, "intent":Landroid/content/Intent; │ - const-class v11, Lcom/google/android/apps/authenticator/CheckCodeActivity; │ + .local v6, "intent":Landroid/content/Intent; │ + const-class v13, Lcom/google/android/apps/authenticator/CheckCodeActivity; │ │ - invoke-virtual {v4, p0, v11}, Landroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent; │ + move-object/from16 v0, p0 │ + │ + invoke-virtual {v6, v0, v13}, Landroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent; │ │ .line 682 │ - const-string v11, "user" │ + const-string v13, "user" │ │ - invoke-virtual {v4, v11, v9}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; │ + invoke-virtual {v6, v13, v11}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; │ │ .line 683 │ - invoke-virtual {p0, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->startActivity(Landroid/content/Intent;)V │ + move-object/from16 v0, p0 │ + │ + invoke-virtual {v0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->startActivity(Landroid/content/Intent;)V │ │ .line 684 │ - const/4 v11, 0x1 │ + const/4 v13, 0x1 │ │ goto :goto_0 │ │ .line 686 │ - .end local v4 # "intent":Landroid/content/Intent; │ + .end local v6 # "intent":Landroid/content/Intent; │ :pswitch_2 │ - move-object v1, p0 │ + move-object/from16 v3, p0 │ │ .line 687 │ - .local v1, "context":Landroid/content/Context; │ - invoke-virtual {p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getLayoutInflater()Landroid/view/LayoutInflater; │ + .local v3, "context":Landroid/content/Context; │ + invoke-virtual/range {p0 .. p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getLayoutInflater()Landroid/view/LayoutInflater; │ │ - move-result-object v12 │ + move-result-object v14 │ │ - const v13, 0x7f030008 │ + const v15, 0x7f030008 │ │ - const v11, 0x7f0a0012 │ + const v13, 0x7f0a0012 │ │ - invoke-virtual {p0, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ + .line 688 │ + move-object/from16 v0, p0 │ │ - move-result-object v11 │ + invoke-virtual {v0, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ │ - check-cast v11, Landroid/view/ViewGroup; │ + move-result-object v13 │ │ - invoke-virtual {v12, v13, v11}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; │ + check-cast v13, Landroid/view/ViewGroup; │ │ - move-result-object v2 │ + .line 687 │ + invoke-virtual {v14, v15, v13}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; │ + │ + move-result-object v4 │ │ .line 689 │ - .local v2, "frame":Landroid/view/View; │ - const v11, 0x7f0a0013 │ + .local v4, "frame":Landroid/view/View; │ + const v13, 0x7f0a0013 │ │ - invoke-virtual {v2, v11}, Landroid/view/View;->findViewById(I)Landroid/view/View; │ + invoke-virtual {v4, v13}, Landroid/view/View;->findViewById(I)Landroid/view/View; │ │ - move-result-object v5 │ + move-result-object v7 │ │ - check-cast v5, Landroid/widget/EditText; │ + check-cast v7, Landroid/widget/EditText; │ │ .line 690 │ - .local v5, "nameEdit":Landroid/widget/EditText; │ - invoke-virtual {v5, v9}, Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V │ + .local v7, "nameEdit":Landroid/widget/EditText; │ + invoke-virtual {v7, v11}, Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V │ │ .line 691 │ - new-instance v11, Landroid/app/AlertDialog$Builder; │ + new-instance v13, Landroid/app/AlertDialog$Builder; │ │ - invoke-direct {v11, p0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ + move-object/from16 v0, p0 │ │ - const v12, 0x7f060032 │ + invoke-direct {v13, v0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ │ - invoke-virtual {p0, v12}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getString(I)Ljava/lang/String; │ + const v14, 0x7f060032 │ │ - move-result-object v12 │ + .line 692 │ + move-object/from16 v0, p0 │ │ - const/4 v13, 0x1 │ + invoke-virtual {v0, v14}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getString(I)Ljava/lang/String; │ │ - new-array v13, v13, [Ljava/lang/Object; │ + move-result-object v14 │ │ - const/4 v14, 0x0 │ + const/4 v15, 0x1 │ │ - aput-object v9, v13, v14 │ + new-array v15, v15, [Ljava/lang/Object; │ │ - invoke-static {v12, v13}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ + const/16 v16, 0x0 │ │ - move-result-object v12 │ + aput-object v11, v15, v16 │ │ - invoke-virtual {v11, v12}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ + invoke-static {v14, v15}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v14 │ │ - invoke-virtual {v11, v2}, Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder; │ + invoke-virtual {v13, v14}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ - move-result-object v11 │ - │ - const v12, 0x7f06002a │ + move-result-object v13 │ │ - invoke-direct {p0, v1, v9, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getRenameClickListener(Landroid/content/Context;Ljava/lang/String;Landroid/widget/EditText;)Landroid/content/DialogInterface$OnClickListener; │ + .line 693 │ + invoke-virtual {v13, v4}, Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v13 │ │ - invoke-virtual {v11, v12, v13}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ + const v14, 0x7f06002a │ │ - move-result-object v11 │ + .line 695 │ + move-object/from16 v0, p0 │ │ - const v12, 0x7f06002b │ + invoke-direct {v0, v3, v11, v7}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getRenameClickListener(Landroid/content/Context;Ljava/lang/String;Landroid/widget/EditText;)Landroid/content/DialogInterface$OnClickListener; │ │ - const/4 v13, 0x0 │ + move-result-object v15 │ │ - invoke-virtual {v11, v12, v13}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ + .line 694 │ + invoke-virtual {v13, v14, v15}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ - move-result-object v11 │ + move-result-object v13 │ │ - invoke-virtual {v11}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog; │ + const v14, 0x7f06002b │ + │ + const/4 v15, 0x0 │ + │ + .line 696 │ + invoke-virtual {v13, v14, v15}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ + │ + move-result-object v13 │ + │ + .line 697 │ + invoke-virtual {v13}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog; │ │ .line 698 │ - const/4 v11, 0x1 │ + const/4 v13, 0x1 │ │ goto/16 :goto_0 │ │ - .line 701 │ - .end local v1 # "context":Landroid/content/Context; │ - .end local v2 # "frame":Landroid/view/View; │ - .end local v5 # "nameEdit":Landroid/widget/EditText; │ + .line 702 │ + .end local v3 # "context":Landroid/content/Context; │ + .end local v4 # "frame":Landroid/view/View; │ + .end local v7 # "nameEdit":Landroid/widget/EditText; │ :pswitch_3 │ - invoke-virtual {p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getLayoutInflater()Landroid/view/LayoutInflater; │ + invoke-virtual/range {p0 .. p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getLayoutInflater()Landroid/view/LayoutInflater; │ │ - move-result-object v11 │ + move-result-object v13 │ │ - const v12, 0x7f030007 │ + const v14, 0x7f030007 │ │ - const/4 v13, 0x0 │ + const/4 v15, 0x0 │ │ - const/4 v14, 0x0 │ + const/16 v16, 0x0 │ │ - invoke-virtual {v11, v12, v13, v14}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View; │ + invoke-virtual/range {v13 .. v16}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View; │ │ - move-result-object v8 │ + move-result-object v10 │ │ .line 703 │ - .local v8, "promptContentView":Landroid/view/View; │ - const v11, 0x7f0a0011 │ + .local v10, "promptContentView":Landroid/view/View; │ + const v13, 0x7f0a0011 │ │ - invoke-virtual {v8, v11}, Landroid/view/View;->findViewById(I)Landroid/view/View; │ + invoke-virtual {v10, v13}, Landroid/view/View;->findViewById(I)Landroid/view/View; │ │ - move-result-object v10 │ + move-result-object v12 │ │ - check-cast v10, Landroid/webkit/WebView; │ + check-cast v12, Landroid/webkit/WebView; │ │ .line 704 │ - .local v10, "webView":Landroid/webkit/WebView; │ - const/4 v11, 0x0 │ + .local v12, "webView":Landroid/webkit/WebView; │ + const/4 v13, 0x0 │ │ - invoke-virtual {v10, v11}, Landroid/webkit/WebView;->setBackgroundColor(I)V │ + invoke-virtual {v12, v13}, Landroid/webkit/WebView;->setBackgroundColor(I)V │ │ .line 706 │ - const/4 v11, 0x1 │ + const/4 v13, 0x1 │ │ - const/high16 v12, 0x41200000 # 10.0f │ + const/high16 v14, 0x41200000 # 10.0f │ │ - invoke-virtual {p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getResources()Landroid/content/res/Resources; │ + .line 708 │ + invoke-virtual/range {p0 .. p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v13 │ + move-result-object v15 │ │ - invoke-virtual {v13}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; │ + invoke-virtual {v15}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; │ │ - move-result-object v13 │ + move-result-object v15 │ │ - invoke-static {v11, v12, v13}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F │ + .line 707 │ + invoke-static {v13, v14, v15}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F │ │ - move-result v11 │ + move-result v13 │ │ - float-to-double v11, v11 │ + float-to-double v14, v13 │ │ - const-wide/high16 v13, 0x4024000000000000L # 10.0 │ + const-wide/high16 v16, 0x4024000000000000L # 10.0 │ │ - div-double v6, v11, v13 │ + div-double v8, v14, v16 │ │ .line 709 │ - .local v6, "pixelsPerDip":D │ - invoke-virtual {v10}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings; │ + .local v8, "pixelsPerDip":D │ + invoke-virtual {v12}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings; │ │ - move-result-object v11 │ + move-result-object v13 │ │ - iget-object v12, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mEnterPinPrompt:Landroid/widget/TextView; │ + move-object/from16 v0, p0 │ │ - invoke-virtual {v12}, Landroid/widget/TextView;->getTextSize()F │ + iget-object v14, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mEnterPinPrompt:Landroid/widget/TextView; │ │ - move-result v12 │ + .line 710 │ + invoke-virtual {v14}, Landroid/widget/TextView;->getTextSize()F │ │ - float-to-double v12, v12 │ + move-result v14 │ │ - div-double/2addr v12, v6 │ + float-to-double v14, v14 │ │ - double-to-int v12, v12 │ + div-double/2addr v14, v8 │ │ - invoke-virtual {v11, v12}, Landroid/webkit/WebSettings;->setDefaultFontSize(I)V │ + double-to-int v14, v14 │ + │ + .line 709 │ + invoke-virtual {v13, v14}, Landroid/webkit/WebSettings;->setDefaultFontSize(I)V │ │ .line 711 │ - new-instance v11, Ljava/lang/StringBuilder; │ + new-instance v13, Ljava/lang/StringBuilder; │ │ - invoke-direct {v11}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v13}, Ljava/lang/StringBuilder;->()V │ │ - const-string v12, "" │ + const-string v14, "" │ │ - invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v12 │ + move-result-object v14 │ + │ + move-object/from16 v0, p0 │ │ - iget-object v11, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; │ + iget-object v13, v0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; │ │ - invoke-virtual {v11, v9}, Lcom/google/android/apps/authenticator/AccountDb;->isGoogleAccount(Ljava/lang/String;)Z │ + .line 715 │ + invoke-virtual {v13, v11}, Lcom/google/android/apps/authenticator/AccountDb;->isGoogleAccount(Ljava/lang/String;)Z │ │ - move-result v11 │ + move-result v13 │ │ - if-eqz v11, :cond_0 │ + if-eqz v13, :cond_0 │ │ - const v11, 0x7f060030 │ + const v13, 0x7f060030 │ │ + .line 714 │ :goto_1 │ - invoke-virtual {p0, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getString(I)Ljava/lang/String; │ + move-object/from16 v0, p0 │ │ - move-result-object v11 │ + invoke-virtual {v0, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getString(I)Ljava/lang/String; │ │ - invoke-virtual {v12, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + move-result-object v13 │ │ - move-result-object v11 │ + invoke-virtual {v14, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - const-string v12, "" │ + move-result-object v13 │ │ - invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + const-string v14, "" │ │ - move-result-object v11 │ + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + move-result-object v13 │ │ - move-result-object v11 │ + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + │ + move-result-object v13 │ │ - invoke-static {v10, v11}, Lcom/google/android/apps/authenticator/Utilities;->setWebViewHtml(Landroid/webkit/WebView;Ljava/lang/String;)V │ + .line 711 │ + invoke-static {v12, v13}, Lcom/google/android/apps/authenticator/Utilities;->setWebViewHtml(Landroid/webkit/WebView;Ljava/lang/String;)V │ │ .line 720 │ - new-instance v11, Landroid/app/AlertDialog$Builder; │ + new-instance v13, Landroid/app/AlertDialog$Builder; │ │ - invoke-direct {v11, p0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ + move-object/from16 v0, p0 │ │ - const v12, 0x7f06002e │ + invoke-direct {v13, v0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ │ - const/4 v13, 0x1 │ + const v14, 0x7f06002e │ │ - new-array v13, v13, [Ljava/lang/Object; │ + const/4 v15, 0x1 │ │ - const/4 v14, 0x0 │ + new-array v15, v15, [Ljava/lang/Object; │ │ - aput-object v9, v13, v14 │ + const/16 v16, 0x0 │ │ - invoke-virtual {p0, v12, v13}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ + aput-object v11, v15, v16 │ │ - move-result-object v12 │ + .line 721 │ + move-object/from16 v0, p0 │ │ - invoke-virtual {v11, v12}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ + invoke-virtual {v0, v14, v15}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getString(I[Ljava/lang/Object;)Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v14 │ │ - invoke-virtual {v11, v8}, Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder; │ + invoke-virtual {v13, v14}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ - move-result-object v11 │ + move-result-object v13 │ │ - const v12, 0x1080027 │ + .line 722 │ + invoke-virtual {v13, v10}, Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder; │ │ - invoke-virtual {v11, v12}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder; │ + move-result-object v13 │ │ - move-result-object v11 │ + const v14, 0x1080027 │ │ - const v12, 0x7f06002d │ + .line 723 │ + invoke-virtual {v13, v14}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder; │ │ - new-instance v13, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5; │ + move-result-object v13 │ │ - invoke-direct {v13, p0, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;)V │ + const v14, 0x7f06002d │ │ - invoke-virtual {v11, v12, v13}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ + new-instance v15, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5; │ │ - move-result-object v11 │ + move-object/from16 v0, p0 │ │ - const v12, 0x7f06002b │ + invoke-direct {v15, v0, v11}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$5;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Ljava/lang/String;)V │ │ - const/4 v13, 0x0 │ + .line 724 │ + invoke-virtual {v13, v14, v15}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ - invoke-virtual {v11, v12, v13}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ + move-result-object v13 │ │ - move-result-object v11 │ + const v14, 0x7f06002b │ + │ + const/4 v15, 0x0 │ + │ + .line 733 │ + invoke-virtual {v13, v14, v15}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ + │ + move-result-object v13 │ │ - invoke-virtual {v11}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog; │ + .line 734 │ + invoke-virtual {v13}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog; │ │ .line 735 │ - const/4 v11, 0x1 │ + const/4 v13, 0x1 │ │ goto/16 :goto_0 │ │ - .line 711 │ + .line 715 │ :cond_0 │ - const v11, 0x7f06002f │ + const v13, 0x7f06002f │ │ goto :goto_1 │ │ .line 673 │ :pswitch_data_0 │ .packed-switch 0x0 │ :pswitch_1 │ :pswitch_2 │ :pswitch_3 │ :pswitch_0 │ .end packed-switch │ .end method │ │ .method public onCreate(Landroid/os/Bundle;)V │ - .locals 10 │ + .locals 9 │ .param p1, "savedInstanceState" # Landroid/os/Bundle; │ │ .prologue │ - const/4 v8, 0x0 │ + const/16 v4, 0x8 │ │ - const/16 v7, 0x8 │ + const/4 v5, 0x0 │ │ .line 198 │ invoke-super {p0, p1}, Lcom/google/android/apps/authenticator/testability/TestableActivity;->onCreate(Landroid/os/Bundle;)V │ │ .line 200 │ invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;->getAccountDb()Lcom/google/android/apps/authenticator/AccountDb; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; │ │ .line 201 │ invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;->getOtpProvider()Lcom/google/android/apps/authenticator/OtpSource; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; │ │ .line 205 │ - const/high16 v6, 0x7f060000 │ + const/high16 v3, 0x7f060000 │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->setTitle(I)V │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->setTitle(I)V │ │ .line 207 │ - iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; │ + iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; │ │ - invoke-interface {v6}, Lcom/google/android/apps/authenticator/OtpSource;->getTotpCounter()Lcom/google/android/apps/authenticator/TotpCounter; │ + invoke-interface {v3}, Lcom/google/android/apps/authenticator/OtpSource;->getTotpCounter()Lcom/google/android/apps/authenticator/TotpCounter; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpCounter:Lcom/google/android/apps/authenticator/TotpCounter; │ │ .line 208 │ - iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; │ + iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mOtpProvider:Lcom/google/android/apps/authenticator/OtpSource; │ │ - invoke-interface {v6}, Lcom/google/android/apps/authenticator/OtpSource;->getTotpClock()Lcom/google/android/apps/authenticator/TotpClock; │ + invoke-interface {v3}, Lcom/google/android/apps/authenticator/OtpSource;->getTotpClock()Lcom/google/android/apps/authenticator/TotpClock; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mTotpClock:Lcom/google/android/apps/authenticator/TotpClock; │ │ .line 210 │ - const v6, 0x7f030006 │ + const v3, 0x7f030006 │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->setContentView(I)V │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->setContentView(I)V │ │ .line 213 │ invoke-virtual {p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getLastNonConfigurationInstance()Ljava/lang/Object; │ │ - move-result-object v5 │ + move-result-object v2 │ │ .line 214 │ - .local v5, "savedState":Ljava/lang/Object; │ - if-eqz v5, :cond_1 │ + .local v2, "savedState":Ljava/lang/Object; │ + if-eqz v2, :cond_1 │ │ .line 215 │ - check-cast v5, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ + check-cast v2, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - .end local v5 # "savedState":Ljava/lang/Object; │ - check-cast v5, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ + .end local v2 # "savedState":Ljava/lang/Object; │ + check-cast v2, [Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - iput-object v5, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ + iput-object v2, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ .line 217 │ - iget-object v1, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ + iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - .local v1, "arr$":[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ - array-length v3, v1 │ + array-length v7, v6 │ │ - .local v3, "len$":I │ - const/4 v2, 0x0 │ + move v3, v5 │ │ - .local v2, "i$":I │ :goto_0 │ - if-ge v2, v3, :cond_1 │ + if-ge v3, v7, :cond_1 │ │ - aget-object v0, v1, v2 │ + aget-object v0, v6, v3 │ │ .line 218 │ .local v0, "account":Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ invoke-static {v0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;->access$000(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)Z │ │ - move-result v6 │ + move-result v8 │ │ - if-eqz v6, :cond_0 │ + if-eqz v8, :cond_0 │ │ .line 219 │ - const/4 v6, 0x1 │ + const/4 v8, 0x1 │ │ - invoke-static {v0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;->access$102(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z │ + invoke-static {v0, v8}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;->access$102(Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;Z)Z │ │ .line 217 │ :cond_0 │ - add-int/lit8 v2, v2, 0x1 │ + add-int/lit8 v3, v3, 0x1 │ │ goto :goto_0 │ │ .line 224 │ .end local v0 # "account":Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ - .end local v1 # "arr$":[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ - .end local v2 # "i$":I │ - .end local v3 # "len$":I │ :cond_1 │ if-eqz p1, :cond_2 │ │ .line 225 │ - const-string v6, "oldAppUninstallIntent" │ + const-string v3, "oldAppUninstallIntent" │ │ - invoke-virtual {p1, v6}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable; │ + invoke-virtual {p1, v3}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - check-cast v6, Landroid/content/Intent; │ + check-cast v3, Landroid/content/Intent; │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mOldAppUninstallIntent:Landroid/content/Intent; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mOldAppUninstallIntent:Landroid/content/Intent; │ │ .line 226 │ - const-string v6, "saveKeyDialogParams" │ + const-string v3, "saveKeyDialogParams" │ │ - invoke-virtual {p1, v6}, Landroid/os/Bundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable; │ + .line 227 │ + invoke-virtual {p1, v3}, Landroid/os/Bundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - check-cast v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ + check-cast v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mSaveKeyDialogParams:Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ │ .line 230 │ :cond_2 │ - const v6, 0x7f0a0010 │ + const v3, 0x7f0a0010 │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - check-cast v6, Landroid/widget/ListView; │ + check-cast v3, Landroid/widget/ListView; │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserList:Landroid/widget/ListView; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserList:Landroid/widget/ListView; │ │ .line 231 │ - const v6, 0x7f0a000b │ + const v3, 0x7f0a000b │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mContentNoAccounts:Landroid/view/View; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mContentNoAccounts:Landroid/view/View; │ │ .line 232 │ - const v6, 0x7f0a000e │ + const v3, 0x7f0a000e │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mContentAccountsPresent:Landroid/view/View; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mContentAccountsPresent:Landroid/view/View; │ │ .line 233 │ - iget-object v9, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mContentNoAccounts:Landroid/view/View; │ + iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mContentNoAccounts:Landroid/view/View; │ │ - iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ + iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - array-length v6, v6 │ + array-length v3, v3 │ │ - if-lez v6, :cond_4 │ + if-lez v3, :cond_4 │ │ - move v6, v7 │ + move v3, v4 │ │ :goto_1 │ - invoke-virtual {v9, v6}, Landroid/view/View;->setVisibility(I)V │ + invoke-virtual {v6, v3}, Landroid/view/View;->setVisibility(I)V │ │ .line 234 │ - iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mContentAccountsPresent:Landroid/view/View; │ + iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mContentAccountsPresent:Landroid/view/View; │ │ - iget-object v9, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ + iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - array-length v9, v9 │ + array-length v6, v6 │ │ - if-lez v9, :cond_5 │ + if-lez v6, :cond_5 │ │ :goto_2 │ - invoke-virtual {v6, v8}, Landroid/view/View;->setVisibility(I)V │ + invoke-virtual {v3, v5}, Landroid/view/View;->setVisibility(I)V │ │ .line 235 │ - const v6, 0x7f0a000a │ + const v3, 0x7f0a000a │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ │ - move-result-object v4 │ + move-result-object v1 │ │ - check-cast v4, Landroid/widget/TextView; │ + check-cast v1, Landroid/widget/TextView; │ │ .line 236 │ - .local v4, "noAccountsPromptDetails":Landroid/widget/TextView; │ - const v6, 0x7f060044 │ + .local v1, "noAccountsPromptDetails":Landroid/widget/TextView; │ + const v3, 0x7f060044 │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getString(I)Ljava/lang/String; │ + .line 237 │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getString(I)Ljava/lang/String; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - invoke-static {v6}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned; │ + invoke-static {v3}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - invoke-virtual {v4, v6}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ + .line 236 │ + invoke-virtual {v1, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 239 │ - const v6, 0x7f0a000c │ + const v3, 0x7f0a000c │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - new-instance v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1; │ + new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1; │ │ - invoke-direct {v8, p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ + invoke-direct {v5, p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$1;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ - invoke-virtual {v6, v8}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V │ + invoke-virtual {v3, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V │ │ .line 245 │ - const v6, 0x7f0a000d │ + const v3, 0x7f0a000d │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - new-instance v8, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2; │ + new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2; │ │ - invoke-direct {v8, p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ + invoke-direct {v5, p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$2;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ - invoke-virtual {v6, v8}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V │ + invoke-virtual {v3, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V │ │ .line 251 │ - const v6, 0x7f0a000f │ + const v3, 0x7f0a000f │ │ - invoke-virtual {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ + invoke-virtual {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->findViewById(I)Landroid/view/View; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - check-cast v6, Landroid/widget/TextView; │ + check-cast v3, Landroid/widget/TextView; │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mEnterPinPrompt:Landroid/widget/TextView; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mEnterPinPrompt:Landroid/widget/TextView; │ │ .line 253 │ - new-instance v6, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ + new-instance v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ │ - const v8, 0x7f03000a │ + const v5, 0x7f03000a │ │ - iget-object v9, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ + iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUsers:[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo; │ │ - invoke-direct {v6, p0, p0, v8, v9}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Context;I[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V │ + invoke-direct {v3, p0, p0, v5, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Landroid/content/Context;I[Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinInfo;)V │ │ - iput-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ + iput-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ │ .line 255 │ - iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserList:Landroid/widget/ListView; │ + iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserList:Landroid/widget/ListView; │ │ - invoke-virtual {v6, v7}, Landroid/widget/ListView;->setVisibility(I)V │ + invoke-virtual {v3, v4}, Landroid/widget/ListView;->setVisibility(I)V │ │ .line 256 │ - iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserList:Landroid/widget/ListView; │ + iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserList:Landroid/widget/ListView; │ │ - iget-object v7, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ + iget-object v4, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserAdapter:Lcom/google/android/apps/authenticator/AuthenticatorActivity$PinListAdapter; │ │ - invoke-virtual {v6, v7}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V │ + invoke-virtual {v3, v4}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V │ │ .line 257 │ - iget-object v6, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserList:Landroid/widget/ListView; │ + iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mUserList:Landroid/widget/ListView; │ │ - new-instance v7, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3; │ + new-instance v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3; │ │ - invoke-direct {v7, p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ + invoke-direct {v4, p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$3;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ - invoke-virtual {v6, v7}, Landroid/widget/ListView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V │ + invoke-virtual {v3, v4}, Landroid/widget/ListView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V │ │ .line 270 │ if-nez p1, :cond_3 │ │ .line 273 │ invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;->getOptionalFeatures()Lcom/google/android/apps/authenticator/OptionalFeatures; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - invoke-interface {v6, p0}, Lcom/google/android/apps/authenticator/OptionalFeatures;->onAuthenticatorActivityCreated(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ + invoke-interface {v3, p0}, Lcom/google/android/apps/authenticator/OptionalFeatures;->onAuthenticatorActivityCreated(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ .line 274 │ invoke-direct {p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->importDataFromOldAppIfNecessary()V │ │ .line 275 │ invoke-virtual {p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getIntent()Landroid/content/Intent; │ │ - move-result-object v6 │ + move-result-object v3 │ │ - invoke-direct {p0, v6}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->handleIntent(Landroid/content/Intent;)V │ + invoke-direct {p0, v3}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->handleIntent(Landroid/content/Intent;)V │ │ .line 277 │ :cond_3 │ return-void │ │ - .end local v4 # "noAccountsPromptDetails":Landroid/widget/TextView; │ + .end local v1 # "noAccountsPromptDetails":Landroid/widget/TextView; │ :cond_4 │ - move v6, v8 │ + move v3, v5 │ │ .line 233 │ goto/16 :goto_1 │ │ :cond_5 │ - move v8, v7 │ + move v5, v4 │ │ .line 234 │ goto :goto_2 │ .end method │ │ .method public onCreateContextMenu(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V │ - .locals 6 │ + .locals 7 │ .param p1, "menu" # Landroid/view/ContextMenu; │ .param p2, "v" # Landroid/view/View; │ .param p3, "menuInfo" # Landroid/view/ContextMenu$ContextMenuInfo; │ │ .prologue │ - const/4 v5, 0x0 │ + const/4 v6, 0x0 │ │ .line 654 │ invoke-super {p0, p1, p2, p3}, Lcom/google/android/apps/authenticator/testability/TestableActivity;->onCreateContextMenu(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V │ │ move-object v0, p3 │ │ .line 655 │ check-cast v0, Landroid/widget/AdapterView$AdapterContextMenuInfo; │ │ .line 656 │ .local v0, "info":Landroid/widget/AdapterView$AdapterContextMenuInfo; │ - iget-wide v3, v0, Landroid/widget/AdapterView$AdapterContextMenuInfo;->id:J │ + iget-wide v4, v0, Landroid/widget/AdapterView$AdapterContextMenuInfo;->id:J │ │ - invoke-direct {p0, v3, v4}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->idToEmail(J)Ljava/lang/String; │ + invoke-direct {p0, v4, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->idToEmail(J)Ljava/lang/String; │ │ move-result-object v2 │ │ .line 657 │ .local v2, "user":Ljava/lang/String; │ iget-object v3, p0, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->mAccountDb:Lcom/google/android/apps/authenticator/AccountDb; │ │ @@ -2374,40 +2438,40 @@ │ invoke-interface {p1, v2}, Landroid/view/ContextMenu;->setHeaderTitle(Ljava/lang/CharSequence;)Landroid/view/ContextMenu; │ │ .line 659 │ const/4 v3, 0x3 │ │ const v4, 0x7f060034 │ │ - invoke-interface {p1, v5, v3, v5, v4}, Landroid/view/ContextMenu;->add(IIII)Landroid/view/MenuItem; │ + invoke-interface {p1, v6, v3, v6, v4}, Landroid/view/ContextMenu;->add(IIII)Landroid/view/MenuItem; │ │ .line 661 │ sget-object v3, Lcom/google/android/apps/authenticator/AccountDb$OtpType;->HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ if-ne v1, v3, :cond_0 │ │ .line 662 │ const v3, 0x7f06001b │ │ - invoke-interface {p1, v5, v5, v5, v3}, Landroid/view/ContextMenu;->add(IIII)Landroid/view/MenuItem; │ + invoke-interface {p1, v6, v6, v6, v3}, Landroid/view/ContextMenu;->add(IIII)Landroid/view/MenuItem; │ │ .line 664 │ :cond_0 │ const/4 v3, 0x1 │ │ const v4, 0x7f060031 │ │ - invoke-interface {p1, v5, v3, v5, v4}, Landroid/view/ContextMenu;->add(IIII)Landroid/view/MenuItem; │ + invoke-interface {p1, v6, v3, v6, v4}, Landroid/view/ContextMenu;->add(IIII)Landroid/view/MenuItem; │ │ .line 665 │ const/4 v3, 0x2 │ │ const v4, 0x7f06002c │ │ - invoke-interface {p1, v5, v3, v5, v4}, Landroid/view/ContextMenu;->add(IIII)Landroid/view/MenuItem; │ + invoke-interface {p1, v6, v3, v6, v4}, Landroid/view/ContextMenu;->add(IIII)Landroid/view/MenuItem; │ │ .line 666 │ return-void │ .end method │ │ .method protected onCreateDialog(I)Landroid/app/Dialog; │ .locals 8 │ @@ -2425,15 +2489,15 @@ │ .line 874 │ const/4 v0, 0x0 │ │ .line 875 │ .local v0, "dialog":Landroid/app/Dialog; │ sparse-switch p1, :sswitch_data_0 │ │ - .line 972 │ + .line 973 │ invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;->getOptionalFeatures()Lcom/google/android/apps/authenticator/OptionalFeatures; │ │ move-result-object v3 │ │ invoke-interface {v3, p0, p1}, Lcom/google/android/apps/authenticator/OptionalFeatures;->onAuthenticatorActivityCreateDialog(Lcom/google/android/apps/authenticator/AuthenticatorActivity;I)Landroid/app/Dialog; │ │ move-result-object v0 │ @@ -2500,44 +2564,50 @@ │ .local v2, "saveKeyDialogParams":Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams; │ new-instance v3, Landroid/app/AlertDialog$Builder; │ │ invoke-direct {v3, p0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ │ const v4, 0x7f060017 │ │ + .line 909 │ invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ + .line 910 │ invoke-static {v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;->access$1300(Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)Ljava/lang/String; │ │ move-result-object v4 │ │ invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ + .line 911 │ invoke-virtual {v3, v5}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ const v4, 0x7f060037 │ │ new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8; │ │ invoke-direct {v5, p0, v2}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$8;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;Lcom/google/android/apps/authenticator/AuthenticatorActivity$SaveKeyDialogParams;)V │ │ + .line 912 │ invoke-virtual {v3, v4, v5}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ + .line 924 │ invoke-virtual {v3, v6, v7}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ + .line 925 │ invoke-virtual {v3}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v0 │ │ .line 930 │ new-instance v3, Lcom/google/android/apps/authenticator/AuthenticatorActivity$9; │ │ @@ -2578,56 +2648,65 @@ │ :sswitch_4 │ new-instance v3, Landroid/app/AlertDialog$Builder; │ │ invoke-direct {v3, p0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ │ const v4, 0x7f060039 │ │ + .line 953 │ invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ + .line 955 │ invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;->getOptionalFeatures()Lcom/google/android/apps/authenticator/OptionalFeatures; │ │ move-result-object v4 │ │ const v5, 0x7f06003a │ │ + .line 957 │ invoke-virtual {p0, v5}, Lcom/google/android/apps/authenticator/AuthenticatorActivity;->getString(I)Ljava/lang/String; │ │ move-result-object v5 │ │ + .line 955 │ invoke-interface {v4, p0, v5}, Lcom/google/android/apps/authenticator/OptionalFeatures;->appendDataImportLearnMoreLink(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 954 │ invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ const/4 v4, 0x1 │ │ + .line 958 │ invoke-virtual {v3, v4}, Landroid/app/AlertDialog$Builder;->setCancelable(Z)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ const v4, 0x7f06003b │ │ new-instance v5, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10; │ │ invoke-direct {v5, p0}, Lcom/google/android/apps/authenticator/AuthenticatorActivity$10;->(Lcom/google/android/apps/authenticator/AuthenticatorActivity;)V │ │ + .line 959 │ invoke-virtual {v3, v4, v5}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ + .line 967 │ invoke-virtual {v3, v6, v7}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v3 │ │ + .line 968 │ invoke-virtual {v3}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v0 │ │ .line 969 │ goto/16 :goto_0 ├── smali/com/google/android/apps/authenticator/testability/DependencyInjector.smali │ @@ -425,14 +425,15 @@ │ :try_start_1 │ new-instance v2, Ljava/lang/StringBuilder; │ │ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V │ │ const-class v4, Lcom/google/android/apps/authenticator/AuthenticatorActivity; │ │ + .line 211 │ invoke-virtual {v4}, Ljava/lang/Class;->getPackage()Ljava/lang/Package; │ │ move-result-object v4 │ │ invoke-virtual {v4}, Ljava/lang/Package;->getName()Ljava/lang/String; │ │ move-result-object v4 │ @@ -447,14 +448,15 @@ │ │ move-result-object v2 │ │ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v2 │ │ + .line 210 │ invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; │ :try_end_1 │ .catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_1 │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ move-result-object v1 ├── smali/com/google/android/apps/authenticator/testability/HttpClientFactory.smali │ @@ -19,52 +19,52 @@ │ .line 53 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ .method private static configureHttpClient(Lorg/apache/http/client/HttpClient;)V │ - .locals 4 │ + .locals 5 │ .param p0, "httpClient" # Lorg/apache/http/client/HttpClient; │ │ .prologue │ const/16 v1, 0x4e20 │ │ - const/4 v3, 0x0 │ + const/4 v4, 0x0 │ │ .line 78 │ invoke-interface {p0}, Lorg/apache/http/client/HttpClient;->getParams()Lorg/apache/http/params/HttpParams; │ │ move-result-object v0 │ │ .line 79 │ .local v0, "params":Lorg/apache/http/params/HttpParams; │ - invoke-static {v0, v3}, Lorg/apache/http/params/HttpConnectionParams;->setStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;Z)V │ + invoke-static {v0, v4}, Lorg/apache/http/params/HttpConnectionParams;->setStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;Z)V │ │ .line 80 │ invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;->setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V │ │ .line 81 │ invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;->setSoTimeout(Lorg/apache/http/params/HttpParams;I)V │ │ .line 82 │ const/16 v1, 0x2000 │ │ invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;->setSocketBufferSize(Lorg/apache/http/params/HttpParams;I)V │ │ .line 83 │ - const-wide/16 v1, 0x4e20 │ + const-wide/16 v2, 0x4e20 │ │ - invoke-static {v0, v1, v2}, Lorg/apache/http/conn/params/ConnManagerParams;->setTimeout(Lorg/apache/http/params/HttpParams;J)V │ + invoke-static {v0, v2, v3}, Lorg/apache/http/conn/params/ConnManagerParams;->setTimeout(Lorg/apache/http/params/HttpParams;J)V │ │ .line 86 │ - invoke-static {v0, v3}, Lorg/apache/http/client/params/HttpClientParams;->setRedirecting(Lorg/apache/http/params/HttpParams;Z)V │ + invoke-static {v0, v4}, Lorg/apache/http/client/params/HttpClientParams;->setRedirecting(Lorg/apache/http/params/HttpParams;Z)V │ │ .line 89 │ - invoke-static {v0, v3}, Lorg/apache/http/client/params/HttpClientParams;->setAuthenticating(Lorg/apache/http/params/HttpParams;Z)V │ + invoke-static {v0, v4}, Lorg/apache/http/client/params/HttpClientParams;->setAuthenticating(Lorg/apache/http/params/HttpParams;Z)V │ │ .line 90 │ return-void │ .end method │ │ .method static createHttpClient(Landroid/content/Context;)Lorg/apache/http/client/HttpClient; │ .locals 4 │ @@ -154,14 +154,15 @@ │ const/4 v7, 0x2 │ │ const/4 v6, 0x1 │ │ const/4 v5, 0x0 │ │ .line 99 │ + .line 100 │ invoke-virtual {p0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader; │ │ move-result-object v2 │ │ const-string v3, "android.net.http.AndroidHttpClient" │ │ invoke-virtual {v2, v3}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class; │ @@ -178,14 +179,15 @@ │ │ aput-object v4, v3, v5 │ │ const-class v4, Landroid/content/Context; │ │ aput-object v4, v3, v6 │ │ + .line 102 │ invoke-virtual {v0, v2, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; │ │ move-result-object v1 │ │ .line 103 │ .local v1, "newInstanceMethod":Ljava/lang/reflect/Method; │ new-array v2, v7, [Ljava/lang/Object; ├── smali/com/google/android/apps/authenticator/dataimport/Importer.smali │ @@ -2,15 +2,14 @@ │ .super Ljava/lang/Object; │ .source "Importer.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lcom/google/android/apps/authenticator/dataimport/Importer$1;, │ Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; │ } │ .end annotation │ │ │ # static fields │ .field static final KEY_ACCOUNTS:Ljava/lang/String; = "accountDb" │ @@ -48,61 +47,59 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 36 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 134 │ return-void │ .end method │ │ .method private importAccountDbFromBundle(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;)V │ .locals 13 │ .param p1, "bundle" # Landroid/os/Bundle; │ .param p2, "accountDb" # Lcom/google/android/apps/authenticator/AccountDb; │ │ .prologue │ .line 83 │ - new-instance v10, Ljava/util/ArrayList; │ + new-instance v9, Ljava/util/ArrayList; │ │ invoke-virtual {p1}, Landroid/os/Bundle;->keySet()Ljava/util/Set; │ │ move-result-object v0 │ │ - invoke-direct {v10, v0}, Ljava/util/ArrayList;->(Ljava/util/Collection;)V │ + invoke-direct {v9, v0}, Ljava/util/ArrayList;->(Ljava/util/Collection;)V │ │ .line 84 │ - .local v10, "sortedAccountBundleKeys":Ljava/util/List;, "Ljava/util/List;" │ + .local v9, "sortedAccountBundleKeys":Ljava/util/List;, "Ljava/util/List;" │ new-instance v0, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator; │ │ const/4 v3, 0x0 │ │ invoke-direct {v0, v3}, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;->(Lcom/google/android/apps/authenticator/dataimport/Importer$1;)V │ │ - invoke-static {v10, v0}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V │ + invoke-static {v9, v0}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V │ │ .line 85 │ - const/4 v9, 0x0 │ + const/4 v8, 0x0 │ │ .line 86 │ - .local v9, "importedAccountCount":I │ - invoke-interface {v10}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ + .local v8, "importedAccountCount":I │ + invoke-interface {v9}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v8 │ + move-result-object v11 │ │ - .local v8, "i$":Ljava/util/Iterator; │ :goto_0 │ - invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v11}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v0 │ │ if-eqz v0, :cond_8 │ │ - invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v11}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v7 │ │ check-cast v7, Ljava/lang/String; │ │ .line 87 │ .local v7, "accountBundleKey":Ljava/lang/String; │ @@ -237,34 +234,35 @@ │ │ .line 103 │ :cond_2 │ const-string v0, "type" │ │ invoke-virtual {v6, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v10 │ │ .line 105 │ - .local v11, "typeString":Ljava/lang/String; │ + .local v10, "typeString":Ljava/lang/String; │ const-string v0, "totp" │ │ - invoke-virtual {v0, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ + invoke-virtual {v0, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ move-result v0 │ │ if-eqz v0, :cond_3 │ │ .line 106 │ sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;->TOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ │ .line 115 │ .local v4, "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ :goto_1 │ const-string v0, "counter" │ │ + .line 116 │ invoke-virtual {v6, v0}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z │ │ move-result v0 │ │ if-eqz v0, :cond_5 │ │ const-string v0, "counter" │ @@ -320,15 +318,15 @@ │ │ .line 107 │ .end local v4 # "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ .end local v5 # "counter":Ljava/lang/Integer; │ :cond_3 │ const-string v0, "hotp" │ │ - invoke-virtual {v0, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ + invoke-virtual {v0, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ move-result v0 │ │ if-eqz v0, :cond_4 │ │ .line 108 │ sget-object v4, Lcom/google/android/apps/authenticator/AccountDb$OtpType;->HOTP:Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ @@ -357,15 +355,15 @@ │ │ const-string v12, ": unsupported type: \"" │ │ invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v3 │ │ - invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v3 │ │ const-string v12, "\"" │ │ invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ @@ -375,15 +373,15 @@ │ │ move-result-object v3 │ │ invoke-static {v0, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I │ │ goto/16 :goto_0 │ │ - .line 115 │ + .line 116 │ .restart local v4 # "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ :cond_5 │ const/4 v5, 0x0 │ │ goto :goto_2 │ │ .line 123 │ @@ -396,47 +394,47 @@ │ │ move-object v3, v1 │ │ .line 127 │ invoke-virtual/range {v0 .. v5}, Lcom/google/android/apps/authenticator/AccountDb;->update(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/apps/authenticator/AccountDb$OtpType;Ljava/lang/Integer;)V │ │ .line 128 │ - add-int/lit8 v9, v9, 0x1 │ + add-int/lit8 v8, v8, 0x1 │ │ .line 129 │ goto/16 :goto_0 │ │ .line 131 │ .end local v1 # "name":Ljava/lang/String; │ .end local v2 # "encodedSecret":Ljava/lang/String; │ .end local v4 # "type":Lcom/google/android/apps/authenticator/AccountDb$OtpType; │ .end local v5 # "counter":Ljava/lang/Integer; │ .end local v6 # "accountBundle":Landroid/os/Bundle; │ .end local v7 # "accountBundleKey":Ljava/lang/String; │ - .end local v11 # "typeString":Ljava/lang/String; │ + .end local v10 # "typeString":Ljava/lang/String; │ :cond_8 │ sget-object v0, Lcom/google/android/apps/authenticator/dataimport/Importer;->LOG_TAG:Ljava/lang/String; │ │ new-instance v3, Ljava/lang/StringBuilder; │ │ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V │ │ - const-string v12, "Imported " │ + const-string v11, "Imported " │ │ - invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v3 │ │ - invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ + invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; │ │ move-result-object v3 │ │ - const-string v12, " accounts" │ + const-string v11, " accounts" │ │ - invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v3 │ │ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v3 │ │ @@ -469,145 +467,144 @@ │ .param p1, "bundle" # Landroid/os/Bundle; │ .param p2, "preferences" # Landroid/content/SharedPreferences; │ │ .prologue │ .line 144 │ invoke-interface {p2}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; │ │ - move-result-object v2 │ + move-result-object v1 │ │ .line 145 │ - .local v2, "preferencesEditor":Landroid/content/SharedPreferences$Editor; │ + .local v1, "preferencesEditor":Landroid/content/SharedPreferences$Editor; │ invoke-virtual {p1}, Landroid/os/Bundle;->keySet()Ljava/util/Set; │ │ - move-result-object v4 │ + move-result-object v3 │ │ - invoke-interface {v4}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + invoke-interface {v3}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ - move-result-object v0 │ + move-result-object v3 │ │ - .local v0, "i$":Ljava/util/Iterator; │ :cond_0 │ :goto_0 │ - invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v4 │ │ if-eqz v4, :cond_5 │ │ - invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v1 │ + move-result-object v0 │ │ - check-cast v1, Ljava/lang/String; │ + check-cast v0, Ljava/lang/String; │ │ .line 146 │ - .local v1, "key":Ljava/lang/String; │ - invoke-virtual {p1, v1}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object; │ + .local v0, "key":Ljava/lang/String; │ + invoke-virtual {p1, v0}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object; │ │ - move-result-object v3 │ + move-result-object v2 │ │ .line 147 │ - .local v3, "value":Ljava/lang/Object; │ - instance-of v4, v3, Ljava/lang/Boolean; │ + .local v2, "value":Ljava/lang/Object; │ + instance-of v4, v2, Ljava/lang/Boolean; │ │ if-eqz v4, :cond_1 │ │ .line 148 │ - check-cast v3, Ljava/lang/Boolean; │ + check-cast v2, Ljava/lang/Boolean; │ │ - .end local v3 # "value":Ljava/lang/Object; │ - invoke-virtual {v3}, Ljava/lang/Boolean;->booleanValue()Z │ + .end local v2 # "value":Ljava/lang/Object; │ + invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z │ │ move-result v4 │ │ - invoke-interface {v2, v1, v4}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; │ + invoke-interface {v1, v0, v4}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; │ │ goto :goto_0 │ │ .line 149 │ - .restart local v3 # "value":Ljava/lang/Object; │ + .restart local v2 # "value":Ljava/lang/Object; │ :cond_1 │ - instance-of v4, v3, Ljava/lang/Float; │ + instance-of v4, v2, Ljava/lang/Float; │ │ if-eqz v4, :cond_2 │ │ .line 150 │ - check-cast v3, Ljava/lang/Float; │ + check-cast v2, Ljava/lang/Float; │ │ - .end local v3 # "value":Ljava/lang/Object; │ - invoke-virtual {v3}, Ljava/lang/Float;->floatValue()F │ + .end local v2 # "value":Ljava/lang/Object; │ + invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F │ │ move-result v4 │ │ - invoke-interface {v2, v1, v4}, Landroid/content/SharedPreferences$Editor;->putFloat(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor; │ + invoke-interface {v1, v0, v4}, Landroid/content/SharedPreferences$Editor;->putFloat(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor; │ │ goto :goto_0 │ │ .line 151 │ - .restart local v3 # "value":Ljava/lang/Object; │ + .restart local v2 # "value":Ljava/lang/Object; │ :cond_2 │ - instance-of v4, v3, Ljava/lang/Integer; │ + instance-of v4, v2, Ljava/lang/Integer; │ │ if-eqz v4, :cond_3 │ │ .line 152 │ - check-cast v3, Ljava/lang/Integer; │ + check-cast v2, Ljava/lang/Integer; │ │ - .end local v3 # "value":Ljava/lang/Object; │ - invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I │ + .end local v2 # "value":Ljava/lang/Object; │ + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I │ │ move-result v4 │ │ - invoke-interface {v2, v1, v4}, Landroid/content/SharedPreferences$Editor;->putInt(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; │ + invoke-interface {v1, v0, v4}, Landroid/content/SharedPreferences$Editor;->putInt(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; │ │ goto :goto_0 │ │ .line 153 │ - .restart local v3 # "value":Ljava/lang/Object; │ + .restart local v2 # "value":Ljava/lang/Object; │ :cond_3 │ - instance-of v4, v3, Ljava/lang/Long; │ + instance-of v4, v2, Ljava/lang/Long; │ │ if-eqz v4, :cond_4 │ │ .line 154 │ - check-cast v3, Ljava/lang/Long; │ + check-cast v2, Ljava/lang/Long; │ │ - .end local v3 # "value":Ljava/lang/Object; │ - invoke-virtual {v3}, Ljava/lang/Long;->longValue()J │ + .end local v2 # "value":Ljava/lang/Object; │ + invoke-virtual {v2}, Ljava/lang/Long;->longValue()J │ │ move-result-wide v4 │ │ - invoke-interface {v2, v1, v4, v5}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; │ + invoke-interface {v1, v0, v4, v5}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; │ │ goto :goto_0 │ │ .line 155 │ - .restart local v3 # "value":Ljava/lang/Object; │ + .restart local v2 # "value":Ljava/lang/Object; │ :cond_4 │ - instance-of v4, v3, Ljava/lang/String; │ + instance-of v4, v2, Ljava/lang/String; │ │ if-eqz v4, :cond_0 │ │ .line 156 │ - check-cast v3, Ljava/lang/String; │ + check-cast v2, Ljava/lang/String; │ │ - .end local v3 # "value":Ljava/lang/Object; │ - invoke-interface {v2, v1, v3}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ + .end local v2 # "value":Ljava/lang/Object; │ + invoke-interface {v1, v0, v2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ goto :goto_0 │ │ .line 161 │ - .end local v1 # "key":Ljava/lang/String; │ + .end local v0 # "key":Ljava/lang/String; │ :cond_5 │ - invoke-interface {v2}, Landroid/content/SharedPreferences$Editor;->commit()Z │ + invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;->commit()Z │ │ - move-result v4 │ + move-result v3 │ │ - return v4 │ + return v3 │ .end method │ │ │ # virtual methods │ .method public importFromBundle(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;Landroid/content/SharedPreferences;)V │ .locals 3 │ .param p1, "bundle" # Landroid/os/Bundle; ├── smali/com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection.smali │ @@ -95,28 +95,32 @@ │ │ .line 104 │ :try_start_2 │ new-instance v3, Lcom/google/android/apps/authenticator/dataimport/Importer; │ │ invoke-direct {v3}, Lcom/google/android/apps/authenticator/dataimport/Importer;->()V │ │ + .line 106 │ invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;->getAccountDb()Lcom/google/android/apps/authenticator/AccountDb; │ │ move-result-object v4 │ │ + .line 107 │ invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;->getOptionalFeatures()Lcom/google/android/apps/authenticator/OptionalFeatures; │ │ move-result-object v5 │ │ iget-object v6, p0, Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection;->mContext:Landroid/content/Context; │ │ + .line 108 │ invoke-interface {v5, v6}, Lcom/google/android/apps/authenticator/OptionalFeatures;->getSharedPreferencesForDataImportFromOldApp(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v5 │ │ + .line 104 │ invoke-virtual {v3, v2, v4, v5}, Lcom/google/android/apps/authenticator/dataimport/Importer;->importFromBundle(Landroid/os/Bundle;Lcom/google/android/apps/authenticator/AccountDb;Landroid/content/SharedPreferences;)V │ │ .line 109 │ const-string v3, "ImportController" │ │ const-string v4, "Successfully imported data from the old app" ├── smali/com/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator.smali │ @@ -49,25 +49,21 @@ │ return-void │ .end method │ │ │ # virtual methods │ .method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I │ .locals 1 │ - .param p1, "x0" # Ljava/lang/Object; │ - .param p2, "x1" # Ljava/lang/Object; │ │ .prologue │ .line 134 │ check-cast p1, Ljava/lang/String; │ │ - .end local p1 # "x0":Ljava/lang/Object; │ check-cast p2, Ljava/lang/String; │ │ - .end local p2 # "x1":Ljava/lang/Object; │ invoke-virtual {p0, p1, p2}, Lcom/google/android/apps/authenticator/dataimport/Importer$IntegerStringComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I │ │ move-result v0 │ │ return v0 │ .end method ├── smali/com/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController.smali │ @@ -5,15 +5,14 @@ │ # interfaces │ .implements Lcom/google/android/apps/authenticator/dataimport/ImportController; │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$1;, │ Lcom/google/android/apps/authenticator/dataimport/ExportServiceBasedImportController$ExportServiceConnection; │ } │ .end annotation │ │ │ # static fields │ .field private static final LOG_TAG:Ljava/lang/String; = "ImportController" │ @@ -149,20 +148,22 @@ │ .line 165 │ new-instance v0, Landroid/content/Intent; │ │ const-string v1, "android.intent.action.DELETE" │ │ const-string v2, "package:com.google.android.apps.authenticator" │ │ + .line 166 │ invoke-static {v2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; │ │ move-result-object v2 │ │ invoke-direct {v0, v1, v2}, Landroid/content/Intent;->(Ljava/lang/String;Landroid/net/Uri;)V │ │ + .line 165 │ invoke-interface {p0, v0}, Lcom/google/android/apps/authenticator/dataimport/ImportController$Listener;->onOldAppUninstallSuggested(Landroid/content/Intent;)V │ │ .line 168 │ :cond_0 │ return-void │ .end method ├── smali/com/google/android/apps/authenticator/timesync/SyncNowController$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ .prologue │ .line 231 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$2;->this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/timesync/SyncNowActivity$3.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ .prologue │ .line 141 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;->this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/timesync/SyncNowController$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/timesync/SyncNowController;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ .prologue │ .line 165 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$1;->this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/timesync/NetworkTimeProvider.smali │ @@ -245,15 +245,15 @@ │ .line 77 │ .local v4, "networkDate":Ljava/util/Date; │ invoke-virtual {v4}, Ljava/util/Date;->getTime()J │ :try_end_4 │ .catch Lorg/apache/http/impl/cookie/DateParseException; {:try_start_4 .. :try_end_4} :catch_2 │ .catchall {:try_start_4 .. :try_end_4} :catchall_0 │ │ - move-result-wide v7 │ + move-result-wide v8 │ │ .line 87 │ :try_start_5 │ invoke-interface {v3}, Lorg/apache/http/HttpResponse;->getEntity()Lorg/apache/http/HttpEntity; │ │ move-result-object v6 │ │ @@ -262,19 +262,19 @@ │ if-eqz v6, :cond_2 │ │ .line 89 │ invoke-interface {v6}, Lorg/apache/http/HttpEntity;->consumeContent()V │ :try_end_5 │ .catch Ljava/io/IOException; {:try_start_5 .. :try_end_5} :catch_4 │ │ - .line 93 │ + .line 77 │ .end local v6 # "responseEntity":Lorg/apache/http/HttpEntity; │ :cond_2 │ :goto_1 │ - return-wide v7 │ + return-wide v8 │ │ .line 78 │ .end local v4 # "networkDate":Ljava/util/Date; │ :catch_2 │ move-exception v2 │ │ .line 79 │ @@ -321,11 +321,11 @@ │ │ goto :goto_0 │ │ .restart local v0 # "dateHeader":Lorg/apache/http/Header; │ .restart local v1 # "dateHeaderValue":Ljava/lang/String; │ .restart local v4 # "networkDate":Ljava/util/Date; │ :catch_4 │ - move-exception v9 │ + move-exception v7 │ │ goto :goto_1 │ .end method ├── smali/com/google/android/apps/authenticator/timesync/SyncNowController$3.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$timeCorrectionMinutes:I │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ .prologue │ .line 243 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;->this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ iput p2, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;->val$timeCorrectionMinutes:I ├── smali/com/google/android/apps/authenticator/timesync/SyncNowController.smali │ @@ -2,15 +2,14 @@ │ .super Ljava/lang/Object; │ .source "SyncNowController.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lcom/google/android/apps/authenticator/timesync/SyncNowController$4;, │ Lcom/google/android/apps/authenticator/timesync/SyncNowController$State;, │ Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter;, │ Lcom/google/android/apps/authenticator/timesync/SyncNowController$Result; │ } │ .end annotation │ │ │ @@ -40,14 +39,15 @@ │ .method constructor (Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;)V │ .locals 6 │ .param p1, "totpClock" # Lcom/google/android/apps/authenticator/TotpClock; │ .param p2, "networkTimeProvider" # Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; │ │ .prologue │ .line 91 │ + .line 94 │ invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService; │ │ move-result-object v3 │ │ const/4 v4, 0x1 │ │ new-instance v5, Lcom/google/android/apps/authenticator/RunOnThisLooperThreadExecutor; │ @@ -56,14 +56,15 @@ │ │ move-object v0, p0 │ │ move-object v1, p1 │ │ move-object v2, p2 │ │ + .line 91 │ invoke-direct/range {v0 .. v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;->(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;Ljava/util/concurrent/Executor;ZLjava/util/concurrent/Executor;)V │ │ .line 97 │ return-void │ .end method │ │ .method constructor (Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;Ljava/util/concurrent/Executor;ZLjava/util/concurrent/Executor;)V │ @@ -317,50 +318,50 @@ │ :try_start_0 │ iget-object v6, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowController;->mNetworkTimeProvider:Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; │ │ invoke-virtual {v6}, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;->getNetworkTime()J │ :try_end_0 │ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ .line 240 │ - .local v1, "networkTimeMillis":J │ + .local v2, "networkTimeMillis":J │ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J │ │ move-result-wide v6 │ │ - sub-long v3, v1, v6 │ + sub-long v4, v2, v6 │ │ .line 241 │ - .local v3, "timeCorrectionMillis":J │ - long-to-double v6, v3 │ + .local v4, "timeCorrectionMillis":J │ + long-to-double v6, v4 │ │ const-wide v8, 0x40ed4c0000000000L # 60000.0 │ │ div-double/2addr v6, v8 │ │ invoke-static {v6, v7}, Ljava/lang/Math;->round(D)J │ │ move-result-wide v6 │ │ - long-to-int v5, v6 │ + long-to-int v1, v6 │ │ .line 243 │ - .local v5, "timeCorrectionMinutes":I │ + .local v1, "timeCorrectionMinutes":I │ new-instance v6, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3; │ │ - invoke-direct {v6, p0, v5}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;->(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V │ + invoke-direct {v6, p0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowController$3;->(Lcom/google/android/apps/authenticator/timesync/SyncNowController;I)V │ │ invoke-interface {p1, v6}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V │ │ .line 249 │ - .end local v1 # "networkTimeMillis":J │ - .end local v3 # "timeCorrectionMillis":J │ - .end local v5 # "timeCorrectionMinutes":I │ + .end local v1 # "timeCorrectionMinutes":I │ + .end local v2 # "networkTimeMillis":J │ + .end local v4 # "timeCorrectionMillis":J │ :goto_0 │ return-void │ │ .line 229 │ :catch_0 │ move-exception v0 ├── smali/com/google/android/apps/authenticator/timesync/SyncNowActivity$2.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ .prologue │ .line 126 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;->this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/timesync/SyncNowActivity$4.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ .prologue │ .line 168 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$4;->this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/timesync/SyncNowActivity.smali │ @@ -2,37 +2,28 @@ │ .super Landroid/app/Activity; │ .source "SyncNowActivity.java" │ │ # interfaces │ .implements Lcom/google/android/apps/authenticator/timesync/SyncNowController$Presenter; │ │ │ -# annotations │ -.annotation system Ldalvik/annotation/MemberClasses; │ - value = { │ - Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$5; │ - } │ -.end annotation │ - │ - │ # instance fields │ .field private mController:Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ .field private mProgressDialog:Landroid/app/Dialog; │ │ │ # direct methods │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 36 │ invoke-direct {p0}, Landroid/app/Activity;->()V │ │ - .line 154 │ return-void │ .end method │ │ .method static synthetic access$000(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ .locals 1 │ .param p0, "x0" # Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ @@ -72,24 +63,27 @@ │ │ .prologue │ const/4 v2, 0x1 │ │ .line 162 │ const v0, 0x7f06004c │ │ + .line 164 │ invoke-virtual {p0, v0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;->getString(I)Ljava/lang/String; │ │ move-result-object v0 │ │ const v1, 0x7f06004d │ │ + .line 165 │ invoke-virtual {p0, v1}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;->getString(I)Ljava/lang/String; │ │ move-result-object v1 │ │ + .line 162 │ invoke-static {p0, v0, v1, v2, v2}, Landroid/app/ProgressDialog;->show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZZ)Landroid/app/ProgressDialog; │ │ move-result-object v0 │ │ iput-object v0, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;->mProgressDialog:Landroid/app/Dialog; │ │ .line 168 │ @@ -153,20 +147,22 @@ │ .line 63 │ return-void │ │ .line 57 │ :cond_0 │ new-instance v0, Lcom/google/android/apps/authenticator/timesync/SyncNowController; │ │ + .line 58 │ invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;->getTotpClock()Lcom/google/android/apps/authenticator/TotpClock; │ │ move-result-object v1 │ │ new-instance v2, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider; │ │ + .line 59 │ invoke-static {}, Lcom/google/android/apps/authenticator/testability/DependencyInjector;->getHttpClient()Lorg/apache/http/client/HttpClient; │ │ move-result-object v3 │ │ invoke-direct {v2, v3}, Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;->(Lorg/apache/http/client/HttpClient;)V │ │ invoke-direct {v0, v1, v2}, Lcom/google/android/apps/authenticator/timesync/SyncNowController;->(Lcom/google/android/apps/authenticator/TotpClock;Lcom/google/android/apps/authenticator/timesync/NetworkTimeProvider;)V │ @@ -226,132 +222,153 @@ │ │ .line 106 │ :pswitch_0 │ new-instance v0, Landroid/app/AlertDialog$Builder; │ │ invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ │ + .line 107 │ invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;->setCancelable(Z)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ const v1, 0x7f060050 │ │ + .line 108 │ invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ const v1, 0x7f060051 │ │ + .line 109 │ invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setMessage(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ + .line 110 │ invoke-virtual {v0, v4}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1; │ │ invoke-direct {v1, p0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;->(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ + .line 111 │ invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;->setNeutralButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ + .line 117 │ invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v0 │ │ + .line 118 │ invoke-virtual {v0}, Landroid/app/AlertDialog;->show()V │ │ goto :goto_0 │ │ .line 121 │ :pswitch_1 │ new-instance v0, Landroid/app/AlertDialog$Builder; │ │ invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ │ + .line 122 │ invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;->setCancelable(Z)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ const v1, 0x7f06004e │ │ + .line 123 │ invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ const v1, 0x7f06004f │ │ + .line 124 │ invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setMessage(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ + .line 125 │ invoke-virtual {v0, v4}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2; │ │ invoke-direct {v1, p0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$2;->(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ + .line 126 │ invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;->setNeutralButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ + .line 132 │ invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v0 │ │ + .line 133 │ invoke-virtual {v0}, Landroid/app/AlertDialog;->show()V │ │ goto :goto_0 │ │ .line 136 │ :pswitch_2 │ new-instance v0, Landroid/app/AlertDialog$Builder; │ │ invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)V │ │ + .line 137 │ invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;->setCancelable(Z)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ const v1, 0x7f060052 │ │ + .line 138 │ invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ const v1, 0x7f060053 │ │ + .line 139 │ invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setMessage(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ const v1, 0x1080027 │ │ + .line 140 │ invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ new-instance v1, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3; │ │ invoke-direct {v1, p0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$3;->(Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ │ + .line 141 │ invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;->setNeutralButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v0 │ │ + .line 147 │ invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v0 │ │ + .line 148 │ invoke-virtual {v0}, Landroid/app/AlertDialog;->show()V │ │ goto/16 :goto_0 │ │ .line 151 │ :pswitch_3 │ invoke-virtual {p0}, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;->finish()V ├── smali/com/google/android/apps/authenticator/timesync/SyncNowActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/timesync/SyncNowActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ .prologue │ .line 111 │ iput-object p1, p0, Lcom/google/android/apps/authenticator/timesync/SyncNowActivity$1;->this$0:Lcom/google/android/apps/authenticator/timesync/SyncNowActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/google/android/apps/authenticator/wizard/WizardPageActivity$2.smali │ @@ -20,18 +20,19 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ .prologue │ .line 108 │ - .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.2;" │ + .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;" │ iput-object p1, p0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;->this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ @@ -39,15 +40,15 @@ │ # virtual methods │ .method public onClick(Landroid/view/View;)V │ .locals 1 │ .param p1, "v" # Landroid/view/View; │ │ .prologue │ .line 111 │ - .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.2;" │ + .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;" │ iget-object v0, p0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$2;->this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;->onRightButtonPressed()V │ │ .line 112 │ return-void │ .end method ├── smali/com/google/android/apps/authenticator/wizard/WizardPageActivity.smali │ @@ -2,15 +2,14 @@ │ .super Lcom/google/android/apps/authenticator/testability/TestableActivity; │ .source "WizardPageActivity.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$4;, │ Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; │ } │ .end annotation │ │ .annotation system Ldalvik/annotation/Signature; │ value = { │ ";" │ invoke-direct {p0}, Lcom/google/android/apps/authenticator/testability/TestableActivity;->()V │ │ - .line 55 │ return-void │ .end method │ │ .method private setButtonBarType(Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType;)V │ .locals 4 │ .param p1, "type" # Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$ButtonBarType; │ │ @@ -266,21 +264,24 @@ │ .prologue │ .line 200 │ .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;" │ if-eqz p1, :cond_0 │ │ const-string v0, "wizardState" │ │ + .line 201 │ invoke-virtual {p1, v0}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; │ │ move-result-object v0 │ │ + .line 200 │ :goto_0 │ return-object v0 │ │ + .line 201 │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method protected onCreate(Landroid/os/Bundle;)V ├── smali/com/google/android/apps/authenticator/wizard/WizardPageActivity$1.smali │ @@ -20,18 +20,19 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ .prologue │ .line 100 │ - .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.1;" │ + .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;" │ iput-object p1, p0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;->this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ @@ -39,15 +40,15 @@ │ # virtual methods │ .method public onClick(Landroid/view/View;)V │ .locals 1 │ .param p1, "v" # Landroid/view/View; │ │ .prologue │ .line 103 │ - .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.1;" │ + .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;" │ iget-object v0, p0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$1;->this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;->onLeftButtonPressed()V │ │ .line 104 │ return-void │ .end method ├── smali/com/google/android/apps/authenticator/wizard/WizardPageActivity$3.smali │ @@ -20,18 +20,19 @@ │ # instance fields │ .field final synthetic this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ │ # direct methods │ .method constructor (Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ .prologue │ .line 116 │ - .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.3;" │ + .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;" │ iput-object p1, p0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;->this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ @@ -39,15 +40,15 @@ │ # virtual methods │ .method public onClick(Landroid/view/View;)V │ .locals 1 │ .param p1, "v" # Landroid/view/View; │ │ .prologue │ .line 119 │ - .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity.3;" │ + .local p0, "this":Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;, "Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;" │ iget-object v0, p0, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity$3;->this$0:Lcom/google/android/apps/authenticator/wizard/WizardPageActivity; │ │ invoke-virtual {v0}, Lcom/google/android/apps/authenticator/wizard/WizardPageActivity;->onMiddleButtonPressed()V │ │ .line 120 │ return-void │ .end method ├── res/drawable-mdpi-v11/refresh_pressed.png │ ├── sng │ │ @@ -62,43 +62,43 @@ │ │ (255,255,255) # rgb = (0xff,0xff,0xff) grey100 │ │ (255,255,255) # rgb = (0xff,0xff,0xff) grey100 │ │ (255,255,255) # rgb = (0xff,0xff,0xff) grey100 │ │ (255,255,255) # rgb = (0xff,0xff,0xff) grey100 │ │ (255,255,255) # rgb = (0xff,0xff,0xff) grey100 │ │ } │ │ tRNS { │ │ - 0 27 91 147 159 255 87 183 187 253 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ + 0 27 91 147 159 87 183 187 253 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ IMAGE { │ │ pixels base64 │ │ 00000000000000000000000000000000 │ │ 00000000000000000000000000000000 │ │ -00000000000123444321000005555500 │ │ -00000000067555555555860009999900 │ │ -0000000AB5555555555555BC99999900 │ │ -000000DE555555555555555FG9999900 │ │ -00000H5555555555555555555G999900 │ │ -0000D555555555555555555555G99900 │ │ -000AE55555555IJKJI55555555599900 │ │ -000B5555555LM00000ML555555559900 │ │ -006555555NO000000009G55555555900 │ │ -007555555O00000059999G5555555900 │ │ -01555555L0000000599999G555555900 │ │ -02555555M00000005999999955555900 │ │ -0355555I000000005999999955555900 │ │ -0P55555J000000005555555555555500 │ │ -0Q55555K000000000000000000000000 │ │ -0R55555S000000000000000000000000 │ │ -0T55555U000000000000000000000000 │ │ -0V55555NW0000000000000XN55000000 │ │ -0Y555555Z0000000000000Z555550000 │ │ -00a55555Nb00000000000bN555550000 │ │ -00c555555de000000000ed555555c000 │ │ -00fg555555NKh00000hKN555555gf000 │ │ -000i55555555djkOkjd55555555i0000 │ │ -0000l555555555555555555555l00000 │ │ -00000m5555555555555555555m000000 │ │ -000000n55555555555555555n0000000 │ │ -0000000op5555555555555pq00000000 │ │ -00000000rst555555555gsr000000000 │ │ -00000000000uvwaxawvu000000000000 │ │ +0000000000012344432100000xxxxx00 │ │ +00000000056xxxxxxxxx750008888800 │ │ +00000009AxxxxxxxxxxxxxAB88888800 │ │ +000000CDxxxxxxxxxxxxxxxEF8888800 │ │ +00000GxxxxxxxxxxxxxxxxxxxF888800 │ │ +0000CxxxxxxxxxxxxxxxxxxxxxF88800 │ │ +0009DxxxxxxxxHIJIHxxxxxxxxx88800 │ │ +000AxxxxxxxKL00000LKxxxxxxxx8800 │ │ +005xxxxxxMN000000008Fxxxxxxxx800 │ │ +006xxxxxxN000000x8888Fxxxxxxx800 │ │ +01xxxxxxK0000000x88888Fxxxxxx800 │ │ +02xxxxxxL0000000x8888888xxxxx800 │ │ +03xxxxxH00000000x8888888xxxxx800 │ │ +0OxxxxxI00000000xxxxxxxxxxxxxx00 │ │ +0PxxxxxJ000000000000000000000000 │ │ +0QxxxxxR000000000000000000000000 │ │ +0SxxxxxT000000000000000000000000 │ │ +0UxxxxxMV0000000000000WMxx000000 │ │ +0XxxxxxxY0000000000000Yxxxxx0000 │ │ +00ZxxxxxMa00000000000aMxxxxx0000 │ │ +00bxxxxxxcd000000000dcxxxxxxb000 │ │ +00efxxxxxxMJg00000gJMxxxxxxfe000 │ │ +000hxxxxxxxxcijNjicxxxxxxxxh0000 │ │ +0000kxxxxxxxxxxxxxxxxxxxxxk00000 │ │ +00000lxxxxxxxxxxxxxxxxxxxl000000 │ │ +000000mxxxxxxxxxxxxxxxxxm0000000 │ │ +0000000noxxxxxxxxxxxxxop00000000 │ │ +00000000qrsxxxxxxxxxfrq000000000 │ │ +00000000000tuvZwZvut000000000000 │ │ 00000000000000000000000000000000 │ │ } │ ├── Image content ├── res/drawable-mdpi-v11/refresh.png │ ├── sng │ │ @@ -5,15 +5,14 @@ │ │ } │ │ PLTE { │ │ ( 0, 0, 0) # rgb = (0x00,0x00,0x00) grey0 │ │ (164,183,222) # rgb = (0xa4,0xb7,0xde) │ │ (151,173,217) # rgb = (0x97,0xad,0xd9) │ │ (134,160,212) # rgb = (0x86,0xa0,0xd4) │ │ (130,156,210) # rgb = (0x82,0x9c,0xd2) │ │ - ( 84,120,194) # rgb = (0x54,0x78,0xc2) │ │ (151,173,218) # rgb = (0x97,0xad,0xda) │ │ (121,149,207) # rgb = (0x79,0x95,0xcf) │ │ (120,148,206) # rgb = (0x78,0x94,0xce) │ │ ( 85,121,194) # rgb = (0x55,0x79,0xc2) │ │ (160,180,221) # rgb = (0xa0,0xb4,0xdd) │ │ (112,142,204) # rgb = (0x70,0x8e,0xcc) │ │ (159,179,220) # rgb = (0x9f,0xb3,0xdc) │ │ @@ -60,45 +59,46 @@ │ │ (169,187,224) # rgb = (0xa9,0xbb,0xe0) │ │ (143,166,215) # rgb = (0x8f,0xa6,0xd7) │ │ (107,138,202) # rgb = (0x6b,0x8a,0xca) │ │ (157,178,220) # rgb = (0x9d,0xb2,0xdc) │ │ (142,166,214) # rgb = (0x8e,0xa6,0xd6) │ │ (123,150,207) # rgb = (0x7b,0x96,0xcf) │ │ (103,135,200) # rgb = (0x67,0x87,0xc8) │ │ + ( 84,120,194) # rgb = (0x54,0x78,0xc2) │ │ } │ │ tRNS { │ │ - 0 27 91 147 159 255 87 183 187 253 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ + 0 27 91 147 159 87 183 187 253 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ IMAGE { │ │ pixels base64 │ │ 00000000000000000000000000000000 │ │ 00000000000000000000000000000000 │ │ -00000000000123444321000005555500 │ │ -00000000067555555555860009999900 │ │ -0000000AB5555555555555BC99999900 │ │ -000000DE555555555555555FG9999900 │ │ -00000H5555555555555555555G999900 │ │ -0000D555555555555555555555G99900 │ │ -000AE55555555IJKJI55555555599900 │ │ -000B5555555LM00000ML555555559900 │ │ -006555555NO000000009G55555555900 │ │ -007555555O00000059999G5555555900 │ │ -01555555L0000000599999G555555900 │ │ -02555555M00000005999999955555900 │ │ -0355555I000000005999999955555900 │ │ -0P55555J000000005555555555555500 │ │ -0Q55555K000000000000000000000000 │ │ -0R55555S000000000000000000000000 │ │ -0T55555U000000000000000000000000 │ │ -0V55555NW0000000000000XN55000000 │ │ -0Y555555Z0000000000000Z555550000 │ │ -00a55555Nb00000000000bN555550000 │ │ -00c555555de000000000ed555555c000 │ │ -00fg555555NKh00000hKN555555gf000 │ │ -000i55555555djkOkjd55555555i0000 │ │ -0000l555555555555555555555l00000 │ │ -00000m5555555555555555555m000000 │ │ -000000n55555555555555555n0000000 │ │ -0000000op5555555555555pq00000000 │ │ -00000000rst555555555gsr000000000 │ │ -00000000000uvwaxawvu000000000000 │ │ +0000000000012344432100000xxxxx00 │ │ +00000000056xxxxxxxxx750008888800 │ │ +00000009AxxxxxxxxxxxxxAB88888800 │ │ +000000CDxxxxxxxxxxxxxxxEF8888800 │ │ +00000GxxxxxxxxxxxxxxxxxxxF888800 │ │ +0000CxxxxxxxxxxxxxxxxxxxxxF88800 │ │ +0009DxxxxxxxxHIJIHxxxxxxxxx88800 │ │ +000AxxxxxxxKL00000LKxxxxxxxx8800 │ │ +005xxxxxxMN000000008Fxxxxxxxx800 │ │ +006xxxxxxN000000x8888Fxxxxxxx800 │ │ +01xxxxxxK0000000x88888Fxxxxxx800 │ │ +02xxxxxxL0000000x8888888xxxxx800 │ │ +03xxxxxH00000000x8888888xxxxx800 │ │ +0OxxxxxI00000000xxxxxxxxxxxxxx00 │ │ +0PxxxxxJ000000000000000000000000 │ │ +0QxxxxxR000000000000000000000000 │ │ +0SxxxxxT000000000000000000000000 │ │ +0UxxxxxMV0000000000000WMxx000000 │ │ +0XxxxxxxY0000000000000Yxxxxx0000 │ │ +00ZxxxxxMa00000000000aMxxxxx0000 │ │ +00bxxxxxxcd000000000dcxxxxxxb000 │ │ +00efxxxxxxMJg00000gJMxxxxxxfe000 │ │ +000hxxxxxxxxcijNjicxxxxxxxxh0000 │ │ +0000kxxxxxxxxxxxxxxxxxxxxxk00000 │ │ +00000lxxxxxxxxxxxxxxxxxxxl000000 │ │ +000000mxxxxxxxxxxxxxxxxxm0000000 │ │ +0000000noxxxxxxxxxxxxxop00000000 │ │ +00000000qrsxxxxxxxxxfrq000000000 │ │ +00000000000tuvZwZvut000000000000 │ │ 00000000000000000000000000000000 │ │ } │ ├── Image content ├── res/drawable/refresh_pressed.png │ ├── sng │ │ @@ -60,46 +60,45 @@ │ │ (182,107, 49) # rgb = (0xb6,0x6b,0x31) │ │ (182,107, 49) # rgb = (0xb6,0x6b,0x31) │ │ (182,107, 49) # rgb = (0xb6,0x6b,0x31) │ │ (182,107, 49) # rgb = (0xb6,0x6b,0x31) │ │ (182,107, 49) # rgb = (0xb6,0x6b,0x31) │ │ (182,107, 49) # rgb = (0xb6,0x6b,0x31) │ │ (182,107, 49) # rgb = (0xb6,0x6b,0x31) │ │ - (182,107, 49) # rgb = (0xb6,0x6b,0x31) │ │ } │ │ tRNS { │ │ - 0 27 91 147 159 253 87 183 255 187 51 203 55 107 247 251 254 111 204 152 128 160 40 0 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ + 0 27 91 147 159 253 87 183 187 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ IMAGE { │ │ pixels base64 │ │ 00000000000000000000000000000000 │ │ 00000000000000000000000000000000 │ │ 00000000000123444321000005555500 │ │ -00000000067888888888960008888800 │ │ -0000000AB8888888888888BC58888800 │ │ -000000DE888888888888888FG8888800 │ │ -00000H88888888888888888888888800 │ │ -0000D888888888888888888888G55500 │ │ -000AE88888888IJKJI88888888855500 │ │ -000B8888888LM00000NL888888885500 │ │ -006888888OP000000NN5G88888888500 │ │ -007888888P00000085555G8888888500 │ │ -01888888L0000000855555G888888500 │ │ -02888888M00000008555555588888500 │ │ -0388888I000000008588855588888500 │ │ -0Q88888J000000008888888888888800 │ │ -0R88888K000000000000000000000000 │ │ -0S88888T000000000000000000000000 │ │ -0U88888V000000000000000000000000 │ │ -0W88888OX0000000000000YO88000000 │ │ -0Z888888a0000000000000a888880000 │ │ -00b88888Oc00000000000cO888880000 │ │ -00d888888ef000000000fe888888d000 │ │ -00gh888888OKi00000iKO888888hg000 │ │ -000j88888888eklPlke88888888j0000 │ │ -0000m888888888888888888888m00000 │ │ -00000n8888888888888888888n000000 │ │ -000000o88888888888888888o0000000 │ │ -0000000pq8888888888888qr00000000 │ │ -00000000stu888888888hts000000000 │ │ -00000000000vwxbybxwv000000000000 │ │ +00000000067xxxxxxxxx86000xxxxx00 │ │ +00000009AxxxxxxxxxxxxxAB5xxxxx00 │ │ +000000CDxxxxxxxxxxxxxxxEFxxxxx00 │ │ +00000Gxxxxxxxxxxxxxxxxxxxxxxxx00 │ │ +0000CxxxxxxxxxxxxxxxxxxxxxF55500 │ │ +0009DxxxxxxxxHIJIHxxxxxxxxx55500 │ │ +000AxxxxxxxKL000000Kxxxxxxxx5500 │ │ +006xxxxxxMN000000005Fxxxxxxxx500 │ │ +007xxxxxxN000000x5555Fxxxxxxx500 │ │ +01xxxxxxK0000000x55555Fxxxxxx500 │ │ +02xxxxxxL0000000x5555555xxxxx500 │ │ +03xxxxxH00000000x5xxx555xxxxx500 │ │ +0OxxxxxI00000000xxxxxxxxxxxxxx00 │ │ +0PxxxxxJ000000000000000000000000 │ │ +0QxxxxxR000000000000000000000000 │ │ +0SxxxxxT000000000000000000000000 │ │ +0UxxxxxMV0000000000000WMxx000000 │ │ +0XxxxxxxY0000000000000Yxxxxx0000 │ │ +00ZxxxxxMa00000000000aMxxxxx0000 │ │ +00bxxxxxxcd000000000dcxxxxxxb000 │ │ +00efxxxxxxMJg00000gJMxxxxxxfe000 │ │ +000hxxxxxxxxcijNjicxxxxxxxxh0000 │ │ +0000kxxxxxxxxxxxxxxxxxxxxxk00000 │ │ +00000lxxxxxxxxxxxxxxxxxxxl000000 │ │ +000000mxxxxxxxxxxxxxxxxxm0000000 │ │ +0000000noxxxxxxxxxxxxxop00000000 │ │ +00000000qrsxxxxxxxxxfrq000000000 │ │ +00000000000tuvZwZvut000000000000 │ │ 00000000000000000000000000000000 │ │ } │ ├── Image content ├── res/drawable/refresh_disabled.png │ ├── sng │ │ @@ -60,46 +60,45 @@ │ │ ( 99, 99, 99) # rgb = (0x63,0x63,0x63) grey39 │ │ ( 99, 99, 99) # rgb = (0x63,0x63,0x63) grey39 │ │ ( 99, 99, 99) # rgb = (0x63,0x63,0x63) grey39 │ │ ( 99, 99, 99) # rgb = (0x63,0x63,0x63) grey39 │ │ ( 99, 99, 99) # rgb = (0x63,0x63,0x63) grey39 │ │ ( 99, 99, 99) # rgb = (0x63,0x63,0x63) grey39 │ │ ( 99, 99, 99) # rgb = (0x63,0x63,0x63) grey39 │ │ - ( 99, 99, 99) # rgb = (0x63,0x63,0x63) grey39 │ │ } │ │ tRNS { │ │ - 0 27 91 147 159 253 87 183 255 187 51 203 55 107 247 251 254 111 204 152 128 160 40 0 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ + 0 27 91 147 159 253 87 183 187 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ IMAGE { │ │ pixels base64 │ │ 00000000000000000000000000000000 │ │ 00000000000000000000000000000000 │ │ 00000000000123444321000005555500 │ │ -00000000067888888888960008888800 │ │ -0000000AB8888888888888BC58888800 │ │ -000000DE888888888888888FG8888800 │ │ -00000H88888888888888888888888800 │ │ -0000D888888888888888888888G55500 │ │ -000AE88888888IJKJI88888888855500 │ │ -000B8888888LMNNNNNML888888885500 │ │ -006888888OPNNNNNNNN5G88888888500 │ │ -007888888PNNNNNN85555G8888888500 │ │ -01888888LNNNNNNN855555G888888500 │ │ -02888888MNNNNNNN8555555588888500 │ │ -0388888INNNNNNNN8555555588888500 │ │ -0Q88888JNNNNNNNN8888888888888800 │ │ -0R88888KNNNNNNNNNNNNNNNNNNNNNN00 │ │ -0S88888TNNNNNNNNNNNNNNNNNNNNNN00 │ │ -0U88888VNNNNNNNNNNNNNNNNNNNNNN00 │ │ -0W88888OXNNNNNNNNNNNNNYO88NNNN00 │ │ -0Z888888aNNNNNNNNNNNNNa88888NN00 │ │ -00b88888OcNNNNNNNNNNNcO88888N000 │ │ -00d888888efNNNNNNNNNfe888888d000 │ │ -00gh888888OKiNNNNNiKO888888hg000 │ │ -000j88888888eklPlke88888888j0000 │ │ -0000m888888888888888888888m00000 │ │ -00000n8888888888888888888n000000 │ │ -000000o88888888888888888o0000000 │ │ -0000000pq8888888888888qr00000000 │ │ -00000000stu888888888hts000000000 │ │ -00000000000vwxbybxwv000000000000 │ │ +00000000067xxxxxxxxx86000xxxxx00 │ │ +00000009AxxxxxxxxxxxxxAB5xxxxx00 │ │ +000000CDxxxxxxxxxxxxxxxEFxxxxx00 │ │ +00000Gxxxxxxxxxxxxxxxxxxxxxxxx00 │ │ +0000CxxxxxxxxxxxxxxxxxxxxxF55500 │ │ +0009DxxxxxxxxHIJIHxxxxxxxxx55500 │ │ +000AxxxxxxxKL00000LKxxxxxxxx5500 │ │ +006xxxxxxMN000000005Fxxxxxxxx500 │ │ +007xxxxxxN000000x5555Fxxxxxxx500 │ │ +01xxxxxxK0000000x55555Fxxxxxx500 │ │ +02xxxxxxL0000000x5555555xxxxx500 │ │ +03xxxxxH00000000x5555555xxxxx500 │ │ +0OxxxxxI00000000xxxxxxxxxxxxxx00 │ │ +0PxxxxxJ000000000000000000000000 │ │ +0QxxxxxR000000000000000000000000 │ │ +0SxxxxxT000000000000000000000000 │ │ +0UxxxxxMV0000000000000WMxx000000 │ │ +0XxxxxxxY0000000000000Yxxxxx0000 │ │ +00ZxxxxxMa00000000000aMxxxxx0000 │ │ +00bxxxxxxcd000000000dcxxxxxxb000 │ │ +00efxxxxxxMJg00000gJMxxxxxxfe000 │ │ +000hxxxxxxxxcijNjicxxxxxxxxh0000 │ │ +0000kxxxxxxxxxxxxxxxxxxxxxk00000 │ │ +00000lxxxxxxxxxxxxxxxxxxxl000000 │ │ +000000mxxxxxxxxxxxxxxxxxm0000000 │ │ +0000000noxxxxxxxxxxxxxop00000000 │ │ +00000000qrsxxxxxxxxxfrq000000000 │ │ +00000000000tuvZwZvut000000000000 │ │ 00000000000000000000000000000000 │ │ } │ ├── Image content ├── res/drawable/refresh.png │ ├── sng │ │ @@ -5,15 +5,14 @@ │ │ } │ │ PLTE { │ │ ( 0, 0, 0) # rgb = (0x00,0x00,0x00) grey0 │ │ (179,226,120) # rgb = (0xb3,0xe2,0x78) │ │ (168,222,100) # rgb = (0xa8,0xde,0x64) │ │ (155,217, 75) # rgb = (0x9b,0xd9,0x4b) │ │ (151,216, 69) # rgb = (0x97,0xd8,0x45) │ │ - (113,202, 0) # rgb = (0x71,0xca,0x00) │ │ (169,222,100) # rgb = (0xa9,0xde,0x64) │ │ (144,213, 56) # rgb = (0x90,0xd5,0x38) │ │ (142,213, 53) # rgb = (0x8e,0xd5,0x35) │ │ (114,202, 2) # rgb = (0x72,0xca,0x02) │ │ (176,225,113) # rgb = (0xb0,0xe1,0x71) │ │ (136,210, 42) # rgb = (0x88,0xd2,0x2a) │ │ (175,225,111) # rgb = (0xaf,0xe1,0x6f) │ │ @@ -60,45 +59,46 @@ │ │ (184,228,127) # rgb = (0xb8,0xe4,0x7f) │ │ (162,220, 88) # rgb = (0xa2,0xdc,0x58) │ │ (132,209, 34) # rgb = (0x84,0xd1,0x22) │ │ (174,224,110) # rgb = (0xae,0xe0,0x6e) │ │ (161,220, 87) # rgb = (0xa1,0xdc,0x57) │ │ (145,214, 58) # rgb = (0x91,0xd6,0x3a) │ │ (128,207, 28) # rgb = (0x80,0xcf,0x1c) │ │ + (113,202, 0) # rgb = (0x71,0xca,0x00) │ │ } │ │ tRNS { │ │ - 0 27 91 147 159 255 87 183 187 253 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ + 0 27 91 147 159 87 183 187 253 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ IMAGE { │ │ pixels base64 │ │ 00000000000000000000000000000000 │ │ 00000000000000000000000000000000 │ │ -00000000000123444321000005555500 │ │ -00000000067555555555860009999900 │ │ -0000000AB5555555555555BC99999900 │ │ -000000DE555555555555555FG9999900 │ │ -00000H5555555555555555555G999900 │ │ -0000D555555555555555555555G99900 │ │ -000AE55555555IJKJI55555555599900 │ │ -000B5555555LM00000ML555555559900 │ │ -006555555NO000000009G55555555900 │ │ -007555555O00000059999G5555555900 │ │ -01555555L0000000599999G555555900 │ │ -02555555M00000005999999955555900 │ │ -0355555I000000005999999955555900 │ │ -0P55555J000000005555555555555500 │ │ -0Q55555K000000000000000000000000 │ │ -0R55555S000000000000000000000000 │ │ -0T55555U000000000000000000000000 │ │ -0V55555NW0000000000000XN55000000 │ │ -0Y555555Z0000000000000Z555550000 │ │ -00a55555Nb00000000000bN555550000 │ │ -00c555555de000000000ed555555c000 │ │ -00fg555555NKh00000hKN555555gf000 │ │ -000i55555555djkOkjd55555555i0000 │ │ -0000l555555555555555555555l00000 │ │ -00000m5555555555555555555m000000 │ │ -000000n55555555555555555n0000000 │ │ -0000000op5555555555555pq00000000 │ │ -00000000rst555555555gsr000000000 │ │ -00000000000uvwaxawvu000000000000 │ │ +0000000000012344432100000xxxxx00 │ │ +00000000056xxxxxxxxx750008888800 │ │ +00000009AxxxxxxxxxxxxxAB88888800 │ │ +000000CDxxxxxxxxxxxxxxxEF8888800 │ │ +00000GxxxxxxxxxxxxxxxxxxxF888800 │ │ +0000CxxxxxxxxxxxxxxxxxxxxxF88800 │ │ +0009DxxxxxxxxHIJIHxxxxxxxxx88800 │ │ +000AxxxxxxxKL00000LKxxxxxxxx8800 │ │ +005xxxxxxMN000000008Fxxxxxxxx800 │ │ +006xxxxxxN000000x8888Fxxxxxxx800 │ │ +01xxxxxxK0000000x88888Fxxxxxx800 │ │ +02xxxxxxL0000000x8888888xxxxx800 │ │ +03xxxxxH00000000x8888888xxxxx800 │ │ +0OxxxxxI00000000xxxxxxxxxxxxxx00 │ │ +0PxxxxxJ000000000000000000000000 │ │ +0QxxxxxR000000000000000000000000 │ │ +0SxxxxxT000000000000000000000000 │ │ +0UxxxxxMV0000000000000WMxx000000 │ │ +0XxxxxxxY0000000000000Yxxxxx0000 │ │ +00ZxxxxxMa00000000000aMxxxxx0000 │ │ +00bxxxxxxcd000000000dcxxxxxxb000 │ │ +00efxxxxxxMJg00000gJMxxxxxxfe000 │ │ +000hxxxxxxxxcijNjicxxxxxxxxh0000 │ │ +0000kxxxxxxxxxxxxxxxxxxxxxk00000 │ │ +00000lxxxxxxxxxxxxxxxxxxxl000000 │ │ +000000mxxxxxxxxxxxxxxxxxm0000000 │ │ +0000000noxxxxxxxxxxxxxop00000000 │ │ +00000000qrsxxxxxxxxxfrq000000000 │ │ +00000000000tuvZwZvut000000000000 │ │ 00000000000000000000000000000000 │ │ } │ ├── Image content ├── res/drawable-hdpi-v4/ic_btn_back.png │ ├── sng │ │ @@ -1,15 +1,15 @@ │ │ #SNG: from stdin │ │ IHDR { │ │ width: 32; height: 32; bitdepth: 8; │ │ using color alpha; │ │ } │ │ IMAGE { │ │ pixels hex │ │ -6b9a0100 4b6c012d 3349019f 324801cc 324801cc 324801f9 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801fc 324801cc 324801cc 334901a2 4a6b012d 6b9a0100 │ │ +00000000 4b6c012d 3349019f 324801cc 324801cc 324801f9 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801fc 324801cc 324801cc 334901a2 4a6b012d 00000000 │ │ 5f89012d 547901f9 638f01ff 78ad02ff 83bd02ff 8ac602ff 90d002ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 90d002ff 8ac702ff 84be02ff 79ae02ff 648f01ff 547901f9 5f890130 │ │ 73a5029c 79af02ff 8fce02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 92d006ff 94d10bff 95d10dff 93d10aff 91d005ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 8fce02ff 79ae02ff 72a3029f │ │ 7db302cc 87c102ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce03ff 92cf07ff 99d216ff 9fd525ff a3d62eff 9bd31bff 93d00aff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 86bf02ff 7cb202d5 │ │ 80b602e1 8bc602ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc03ff 93ce0aff 9ad11aff a2d52dff b1db50ff ecf6d4ff 9ad11cff 93ce0aff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8cc702ff 81b802ed │ │ 80b802f0 8bc702ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8eca04ff 92cc0dff 9ad01fff a2d430ff b9de64ff f7fbedff ffffffff 90cb08ff 8eca04ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8cc902ff 81b902f0 │ │ 81b802f0 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8dc905ff 92cb10ff 9bcf23ff a2d232ff c7e585ff fdfefaff ffffffff ffffffff 84bc02ff 8bc602ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 81b802f0 │ │ 80b602f0 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc603ff 8dc707ff 93ca14ff 9cce28ff a4d23aff d8ecabff ffffffff ffffffff ffffffff ffffffff 7fb502ff 89c302ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 80b602f0 │ │ @@ -32,9 +32,9 @@ │ │ 689000f0 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 709a00ff 6b9300ff 5d8000ff 4b6700ff 687b36ff edefe7ff ffffffff ffffffff 648a00ff 6f9900ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 689000f0 │ │ 678e00f0 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709900ff 6b9300ff 608400ff 4e6b00ff 536918ff d7dcc9ff ffffffff 5d7f00ff 6c9500ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 678e00f0 │ │ 688e00f0 719903ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9700ff 6c9400ff 628700ff 527000ff 4a6406ff bac59fff 587900ff 699000ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 709801ff 678d00f0 │ │ 688e00e1 729907ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6c9400ff 658900ff 5b7c00ff 597900ff 608300ff 6a9100ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 719805ff 688e00ed │ │ 6a9100cc 74990dff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6c9200ff 6a8f00ff 688e00ff 6a8f00ff 6c9200ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 74990dff 6a9000d2 │ │ 72980b96 7b9e1aff 6d9402ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6d9301ff 7b9e1aff 72970aa5 │ │ 89a7332d 94b047f6 90ad40ff 82a227ff 799b18ff 74970fff 6e9305ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6e9305ff 73970eff 799b18ff 81a126ff 90ad40ff 95b049f9 8aa83533 │ │ -87a63200 9cb5552d adc27293 aec274cc aec274cc aec274e4 aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274e7 aec274cc aec274cc adc27299 9cb5562d 88a63300 │ │ +00000000 9cb5552d adc27293 aec274cc aec274cc aec274e4 aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274e7 aec274cc aec274cc adc27299 9cb5562d 00000000 │ │ } │ ├── Image content ├── res/drawable-hdpi-v4/ic_btn_next.png │ ├── sng │ │ @@ -1,15 +1,15 @@ │ │ #SNG: from stdin │ │ IHDR { │ │ width: 32; height: 32; bitdepth: 8; │ │ using color alpha; │ │ } │ │ IMAGE { │ │ pixels hex │ │ -6b9a0100 4a6b012d 334901a2 324801cc 324801cc 324801fc 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801f9 324801cc 324801cc 3349019f 4b6c012d 6b9a0100 │ │ +00000000 4a6b012d 334901a2 324801cc 324801cc 324801fc 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801ff 324801f9 324801cc 324801cc 3349019f 4b6c012d 00000000 │ │ 5f890130 547901f9 648f01ff 79ae02ff 84be02ff 8ac702ff 90d002ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 91d102ff 90d002ff 8ac602ff 83bd02ff 78ad02ff 638f01ff 547901f9 5f89012d │ │ 72a3029f 79ae02ff 8fce02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 91d005ff 93d10aff 95d10dff 94d10bff 92d006ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 90cf02ff 8fce02ff 79af02ff 73a5029c │ │ 7cb202d5 86bf02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 93d00aff 9bd31bff a3d62eff 9fd525ff 99d216ff 92cf07ff 90ce03ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 90ce02ff 87c102ff 7db302cc │ │ 81b802ed 8cc702ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 93ce0aff 9ad11cff ecf6d4ff b1db50ff a2d52dff 9ad11aff 93ce0aff 8fcc03ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8fcc02ff 8bc602ff 80b602e1 │ │ 81b902f0 8cc902ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8eca04ff 90cb08ff ffffffff f7fbedff b9de64ff a2d430ff 9ad01fff 92cc0dff 8eca04ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8dca02ff 8bc702ff 80b802f0 │ │ 81b802f0 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8bc602ff 84bc02ff ffffffff ffffffff fdfefaff c7e585ff a2d232ff 9bcf23ff 92cb10ff 8dc905ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 8cc802ff 81b802f0 │ │ 80b602f0 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 89c302ff 7fb502ff ffffffff ffffffff ffffffff ffffffff d8ecabff a4d23aff 9cce28ff 93ca14ff 8dc707ff 8bc603ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 8bc602ff 80b602f0 │ │ @@ -32,9 +32,9 @@ │ │ 689000f0 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 6f9900ff 648a00ff ffffffff ffffffff edefe7ff 687b36ff 4b6700ff 5d8000ff 6b9300ff 709a00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 719c00ff 689000f0 │ │ 678e00f0 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 6c9500ff 5d7f00ff ffffffff d7dcc9ff 536918ff 4e6b00ff 608400ff 6b9300ff 709900ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 709a00ff 678e00f0 │ │ 678d00f0 709801ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 699000ff 587900ff bac59fff 4a6406ff 527000ff 628700ff 6c9400ff 6f9700ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 6f9800ff 719903ff 688e00f0 │ │ 688e00ed 719805ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6a9100ff 608300ff 597900ff 5b7c00ff 658900ff 6c9400ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 6e9600ff 729907ff 688e00e1 │ │ 6a9000d2 74990dff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6c9200ff 6a8f00ff 688e00ff 6a8f00ff 6c9200ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 6d9400ff 74990dff 6a9100cc │ │ 72970aa5 7b9e1aff 6d9301ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6c9300ff 6d9402ff 7b9e1aff 72980b96 │ │ 8aa83533 95b049f9 90ad40ff 81a126ff 799b18ff 73970eff 6e9305ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6b9100ff 6e9305ff 74970fff 799b18ff 82a227ff 90ad40ff 94b047f6 89a7332d │ │ -88a63300 9cb5562d adc27299 aec274cc aec274cc aec274e7 aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274e4 aec274cc aec274cc adc27293 9cb5552d 87a63200 │ │ +00000000 9cb5562d adc27299 aec274cc aec274cc aec274e7 aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274ff aec274e4 aec274cc aec274cc adc27293 9cb5552d 00000000 │ │ } │ ├── Image content ├── res/layout/remove_account_prompt.xml │ ├── res/layout/remove_account_prompt.xml │ │ @@ -1,2 +1,2 @@ │ │ │ │ - │ │ + ├── res/drawable-mdpi-v14/refresh.png │ ├── sng │ │ @@ -5,15 +5,14 @@ │ │ } │ │ PLTE { │ │ ( 0, 0, 0) # rgb = (0x00,0x00,0x00) grey0 │ │ (147,215,241) # rgb = (0x93,0xd7,0xf1) │ │ (131,210,239) # rgb = (0x83,0xd2,0xef) │ │ (111,202,236) # rgb = (0x6f,0xca,0xec) │ │ (106,201,236) # rgb = (0x6a,0xc9,0xec) │ │ - ( 51,181,229) # rgb = (0x33,0xb5,0xe5) │ │ (131,210,239) # rgb = (0x83,0xd2,0xef) │ │ ( 96,197,234) # rgb = (0x60,0xc5,0xea) │ │ ( 94,196,234) # rgb = (0x5e,0xc4,0xea) │ │ ( 52,181,229) # rgb = (0x34,0xb5,0xe5) │ │ (141,213,240) # rgb = (0x8d,0xd5,0xf0) │ │ ( 85,193,233) # rgb = (0x55,0xc1,0xe9) │ │ (140,213,240) # rgb = (0x8c,0xd5,0xf0) │ │ @@ -60,45 +59,46 @@ │ │ (153,218,242) # rgb = (0x99,0xda,0xf2) │ │ (121,206,238) # rgb = (0x79,0xce,0xee) │ │ ( 78,191,232) # rgb = (0x4e,0xbf,0xe8) │ │ (139,213,240) # rgb = (0x8b,0xd5,0xf0) │ │ (120,206,237) # rgb = (0x78,0xce,0xed) │ │ ( 97,197,234) # rgb = (0x61,0xc5,0xea) │ │ ( 73,189,231) # rgb = (0x49,0xbd,0xe7) │ │ + ( 51,181,229) # rgb = (0x33,0xb5,0xe5) │ │ } │ │ tRNS { │ │ - 0 27 91 147 159 255 87 183 187 253 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ + 0 27 91 147 159 87 183 187 253 51 203 55 107 247 251 254 111 204 152 128 160 40 252 96 167 191 171 148 151 196 99 28 20 35 144 199 72 103 244 68 3 219 12 71 172 112 135 143 139 75 227 83 7 119 215 59 123 179 223} │ │ IMAGE { │ │ pixels base64 │ │ 00000000000000000000000000000000 │ │ 00000000000000000000000000000000 │ │ -00000000000123444321000005555500 │ │ -00000000067555555555860009999900 │ │ -0000000AB5555555555555BC99999900 │ │ -000000DE555555555555555FG9999900 │ │ -00000H5555555555555555555G999900 │ │ -0000D555555555555555555555G99900 │ │ -000AE55555555IJKJI55555555599900 │ │ -000B5555555LM00000ML555555559900 │ │ -006555555NO000000009G55555555900 │ │ -007555555O00000059999G5555555900 │ │ -01555555L0000000599999G555555900 │ │ -02555555M00000005999999955555900 │ │ -0355555I000000005999999955555900 │ │ -0P55555J000000005555555555555500 │ │ -0Q55555K000000000000000000000000 │ │ -0R55555S000000000000000000000000 │ │ -0T55555U000000000000000000000000 │ │ -0V55555NW0000000000000XN55000000 │ │ -0Y555555Z0000000000000Z555550000 │ │ -00a55555Nb00000000000bN555550000 │ │ -00c555555de000000000ed555555c000 │ │ -00fg555555NKh00000hKN555555gf000 │ │ -000i55555555djkOkjd55555555i0000 │ │ -0000l555555555555555555555l00000 │ │ -00000m5555555555555555555m000000 │ │ -000000n55555555555555555n0000000 │ │ -0000000op5555555555555pq00000000 │ │ -00000000rst555555555gsr000000000 │ │ -00000000000uvwaxawvu000000000000 │ │ +0000000000012344432100000xxxxx00 │ │ +00000000056xxxxxxxxx750008888800 │ │ +00000009AxxxxxxxxxxxxxAB88888800 │ │ +000000CDxxxxxxxxxxxxxxxEF8888800 │ │ +00000GxxxxxxxxxxxxxxxxxxxF888800 │ │ +0000CxxxxxxxxxxxxxxxxxxxxxF88800 │ │ +0009DxxxxxxxxHIJIHxxxxxxxxx88800 │ │ +000AxxxxxxxKL00000LKxxxxxxxx8800 │ │ +005xxxxxxMN000000008Fxxxxxxxx800 │ │ +006xxxxxxN000000x8888Fxxxxxxx800 │ │ +01xxxxxxK0000000x88888Fxxxxxx800 │ │ +02xxxxxxL0000000x8888888xxxxx800 │ │ +03xxxxxH00000000x8888888xxxxx800 │ │ +0OxxxxxI00000000xxxxxxxxxxxxxx00 │ │ +0PxxxxxJ000000000000000000000000 │ │ +0QxxxxxR000000000000000000000000 │ │ +0SxxxxxT000000000000000000000000 │ │ +0UxxxxxMV0000000000000WMxx000000 │ │ +0XxxxxxxY0000000000000Yxxxxx0000 │ │ +00ZxxxxxMa00000000000aMxxxxx0000 │ │ +00bxxxxxxcd000000000dcxxxxxxb000 │ │ +00efxxxxxxMJg00000gJMxxxxxxfe000 │ │ +000hxxxxxxxxcijNjicxxxxxxxxh0000 │ │ +0000kxxxxxxxxxxxxxxxxxxxxxk00000 │ │ +00000lxxxxxxxxxxxxxxxxxxxl000000 │ │ +000000mxxxxxxxxxxxxxxxxxm0000000 │ │ +0000000noxxxxxxxxxxxxxop00000000 │ │ +00000000qrsxxxxxxxxxfrq000000000 │ │ +00000000000tuvZwZvut000000000000 │ │ 00000000000000000000000000000000 │ │ } │ ├── Image content