2.06 MB
/home/fdroid/fdroiddata/tmp/com.perflyst.twire_513.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_com.perflyst.twire_513.apk
8.35 KB
/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: SHA-1 digest of classes.dex does not match the digest specified in META-INF/MANIFEST.MF. Expected: <xViwSJ+9rbX7D2esXPBRM4xjKi8=>, actual: <bXIuyfUiPPDHfvJnTgt3oaHMt8k=>
    
Offset 1, 51 lines modifiedOffset 0, 0 lines modified
1 Verifies 
2 Verified·using·v1·scheme·(JAR·signing):·true 
3 Verified·using·v2·scheme·(APK·Signature·Scheme·v2):·false 
4 Verified·using·v3·scheme·(APK·Signature·Scheme·v3):·false 
5 Verified·using·v4·scheme·(APK·Signature·Scheme·v4):·false 
6 Verified·for·SourceStamp:·false 
7 Number·of·signers:·1 
8 Signer·#1·certificate·DN:·CN=FDroid,·OU=FDroid,·O=fdroid.org,·L=ORG,·ST=ORG,·C=UK 
9 Signer·#1·certificate·SHA-256·digest:·3a0e0a2daab8816e027c5f187a227068e1a6b31f5011b34d50a0023fa05f7af9 
10 Signer·#1·certificate·SHA-1·digest:·37cf101db22aba6f4ce1a9114a1c734de4fce5e3 
11 Signer·#1·certificate·MD5·digest:·25af1cb7194e834afa1858edb60986d8 
12 Signer·#1·key·algorithm:·RSA 
13 Signer·#1·key·size·(bits):·2048 
14 Signer·#1·public·key·SHA-256·digest:·7e18bcd075e1de2cd29336edb5de43a1b95ec8b89f0f0eef2e983bfed3325f24 
15 Signer·#1·public·key·SHA-1·digest:·758c677d161f8ae22a14e4622098f2d8db5fb86d 
16 Signer·#1·public·key·MD5·digest:·70f58e159c3f63280002c1ec8d5cc375 
17 WARNING:·META-INF/android.support.design_material.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
18 WARNING:·META-INF/androidx.appcompat_appcompat.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
19 WARNING:·META-INF/androidx.arch.core_core-runtime.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
20 WARNING:·META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
21 WARNING:·META-INF/androidx.browser_browser.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
22 WARNING:·META-INF/androidx.cardview_cardview.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
23 WARNING:·META-INF/androidx.coordinatorlayout_coordinatorlayout.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
24 WARNING:·META-INF/androidx.core_core.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
25 WARNING:·META-INF/androidx.cursoradapter_cursoradapter.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
26 WARNING:·META-INF/androidx.customview_customview.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
27 WARNING:·META-INF/androidx.documentfile_documentfile.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
28 WARNING:·META-INF/androidx.drawerlayout_drawerlayout.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
29 WARNING:·META-INF/androidx.fragment_fragment.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
30 WARNING:·META-INF/androidx.interpolator_interpolator.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
31 WARNING:·META-INF/androidx.legacy_legacy-support-core-ui.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
32 WARNING:·META-INF/androidx.legacy_legacy-support-core-utils.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
33 WARNING:·META-INF/androidx.legacy_legacy-support-v4.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
34 WARNING:·META-INF/androidx.lifecycle_lifecycle-livedata-core.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
35 WARNING:·META-INF/androidx.lifecycle_lifecycle-livedata.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
36 WARNING:·META-INF/androidx.lifecycle_lifecycle-runtime.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
37 WARNING:·META-INF/androidx.lifecycle_lifecycle-viewmodel.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
38 WARNING:·META-INF/androidx.loader_loader.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
39 WARNING:·META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
40 WARNING:·META-INF/androidx.media_media.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
41 WARNING:·META-INF/androidx.palette_palette.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
42 WARNING:·META-INF/androidx.print_print.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
43 WARNING:·META-INF/androidx.recyclerview_recyclerview.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
44 WARNING:·META-INF/androidx.slidingpanelayout_slidingpanelayout.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
45 WARNING:·META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
46 WARNING:·META-INF/androidx.transition_transition.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
47 WARNING:·META-INF/androidx.vectordrawable_vectordrawable-animated.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
48 WARNING:·META-INF/androidx.vectordrawable_vectordrawable.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
49 WARNING:·META-INF/androidx.versionedparcelable_versionedparcelable.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
50 WARNING:·META-INF/androidx.viewpager_viewpager.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
51 WARNING:·META-INF/com.google.android.material_material.version·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
2.03 MB
zipinfo -v {}
Differences in extra fields detected; using output from zipinfo -v
    
Offset 1, 34413 lines modifiedOffset 1, 27795 lines modified
1 There·is·no·zipfile·comment.1 There·is·no·zipfile·comment.
  
2 End-of-central-directory·record:2 End-of-central-directory·record:
3 -------------------------------3 -------------------------------
  
4 ··Zip·archive·file·size:···················5204197·(00000000004F68E5h)4 ··Zip·archive·file·size:···················5171241·(00000000004EE829h)
5 ··Actual·end-cent-dir·record·offset:·······5204175·(00000000004F68CFh)5 ··Actual·end-cent-dir·record·offset:·······5171219·(00000000004EE813h)
6 ··Expected·end-cent-dir·record·offset:·····5204175·(00000000004F68CFh)6 ··Expected·end-cent-dir·record·offset:·····5171219·(00000000004EE813h)
7 ··(based·on·the·length·of·the·central·directory·and·its·expected·offset)7 ··(based·on·the·length·of·the·central·directory·and·its·expected·offset)
  
8 ··This·zipfile·constitutes·the·sole·disk·of·a·single-part·archive;·its8 ··This·zipfile·constitutes·the·sole·disk·of·a·single-part·archive;·its
9 ··central·directory·contains·949·entries.9 ··central·directory·contains·949·entries.
10 ··The·central·directory·is·95239·(0000000000017407h)·bytes·long,10 ··The·central·directory·is·86725·(00000000000152C5h)·bytes·long,
11 ··and·its·(expected)·offset·in·bytes·from·the·beginning·of·the·zipfile11 ··and·its·(expected)·offset·in·bytes·from·the·beginning·of·the·zipfile
12 ··is·5108936·(00000000004DF4C8h).12 ··is·5084494·(00000000004D954Eh).
  
  
13 Central·directory·entry·#1:13 Central·directory·entry·#1:
14 ---------------------------14 ---------------------------
  
15 ··META-INF/MANIFEST.MF15 ··AndroidManifest.xml
  
16 ··offset·of·local·header·from·start·of·archive:···016 ··offset·of·local·header·from·start·of·archive:···0
17 ··················································(0000000000000000h)·bytes17 ··················································(0000000000000000h)·bytes
18 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT18 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT
19 ··version·of·encoding·software:···················2.019 ··version·of·encoding·software:···················0.0
20 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT20 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
21 ··minimum·software·version·required·to·extract:···2.021 ··minimum·software·version·required·to·extract:···0.0
22 ··compression·method:·····························deflated22 ··compression·method:·····························deflated
23 ··compression·sub-type·(deflation):···············normal23 ··compression·sub-type·(deflation):···············normal
24 ··file·security·status:···························not·encrypted24 ··file·security·status:···························not·encrypted
25 ··extended·local·header:··························yes25 ··extended·local·header:··························no
26 ··file·last·modified·on·(DOS·date/time):··········2020·May·8·18:16:3426 ··file·last·modified·on·(DOS·date/time):··········1980·000·0·00:00:00
27 ··32-bit·CRC·value·(hex):·························cc41a5b127 ··32-bit·CRC·value·(hex):·························a4aad2fe
28 ··compressed·size:································29242·bytes28 ··compressed·size:································2398·bytes
29 ··uncompressed·size:······························93358·bytes29 ··uncompressed·size:······························10968·bytes
30 ··length·of·filename:·····························20·characters30 ··length·of·filename:·····························19·characters
31 ··length·of·extra·field:··························0·bytes31 ··length·of·extra·field:··························0·bytes
32 ··length·of·file·comment:·························0·characters32 ··length·of·file·comment:·························0·characters
33 ··disk·number·on·which·file·begins:···············disk·133 ··disk·number·on·which·file·begins:···············disk·1
34 ··apparent·file·type:·····························binary34 ··apparent·file·type:·····························binary
35 ··non-MSDOS·external·file·attributes:·············000000·hex35 ··non-MSDOS·external·file·attributes:·············000000·hex
36 ··MS-DOS·file·attributes·(00·hex):················none36 ··MS-DOS·file·attributes·(00·hex):················none
  
37 ··There·is·no·file·comment.37 ··There·is·no·file·comment.
  
38 Central·directory·entry·#2:38 Central·directory·entry·#2:
39 ---------------------------39 ---------------------------
  
40 ··There·are·an·extra·16·bytes·preceding·this·file. 
  
41 ··META-INF/ADCDAB2C.SF 
  
42 ··offset·of·local·header·from·start·of·archive:···29308 
43 ··················································(000000000000727Ch)·bytes 
44 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT 
45 ··version·of·encoding·software:···················2.0 
46 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT 
47 ··minimum·software·version·required·to·extract:···2.0 
48 ··compression·method:·····························deflated 
49 ··compression·sub-type·(deflation):···············normal 
50 ··file·security·status:···························not·encrypted 
51 ··extended·local·header:··························yes 
52 ··file·last·modified·on·(DOS·date/time):··········2020·May·8·18:16:34 
53 ··32-bit·CRC·value·(hex):·························5ea9e581 
54 ··compressed·size:································30007·bytes 
55 ··uncompressed·size:······························93456·bytes 
56 ··length·of·filename:·····························20·characters 
57 ··length·of·extra·field:··························0·bytes 
58 ··length·of·file·comment:·························0·characters 
59 ··disk·number·on·which·file·begins:···············disk·1 
60 ··apparent·file·type:·····························binary 
61 ··non-MSDOS·external·file·attributes:·············000000·hex 
62 ··MS-DOS·file·attributes·(00·hex):················none 
  
63 ··There·is·no·file·comment. 
  
64 Central·directory·entry·#3: 
65 --------------------------- 
  
66 ··There·are·an·extra·16·bytes·preceding·this·file. 
  
67 ··META-INF/ADCDAB2C.RSA 
  
68 ··offset·of·local·header·from·start·of·archive:···59381 
69 ··················································(000000000000E7F5h)·bytes 
70 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT 
71 ··version·of·encoding·software:···················2.0 
72 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT 
73 ··minimum·software·version·required·to·extract:···2.0 
74 ··compression·method:·····························deflated 
75 ··compression·sub-type·(deflation):···············normal 
76 ··file·security·status:···························not·encrypted 
77 ··extended·local·header:··························yes 
78 ··file·last·modified·on·(DOS·date/time):··········2020·May·8·18:16:34 
79 ··32-bit·CRC·value·(hex):·························d3d403b5 
80 ··compressed·size:································1074·bytes 
81 ··uncompressed·size:······························1326·bytes 
82 ··length·of·filename:·····························21·characters 
83 ··length·of·extra·field:··························0·bytes 
84 ··length·of·file·comment:·························0·characters 
85 ··disk·number·on·which·file·begins:···············disk·1 
86 ··apparent·file·type:·····························binary 
87 ··non-MSDOS·external·file·attributes:·············000000·hex 
88 ··MS-DOS·file·attributes·(00·hex):················none 
  
89 ··There·is·no·file·comment. 
  
90 Central·directory·entry·#4: 
91 --------------------------- 
  
92 ··There·are·an·extra·16·bytes·preceding·this·file. 
  
93 ··META-INF/android.support.design_material.version40 ··META-INF/android.support.design_material.version
  
94 ··offset·of·local·header·from·start·of·archive:···6052241 ··offset·of·local·header·from·start·of·archive:···2447
95 ··················································(000000000000EC6Ah)·bytes42 ··················································(000000000000098Fh)·bytes
96 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT43 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT
97 ··version·of·encoding·software:···················1.044 ··version·of·encoding·software:···················2.4
98 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT45 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
99 ··minimum·software·version·required·to·extract:···1.046 ··minimum·software·version·required·to·extract:···1.0
100 ··compression·method:·····························none·(stored)47 ··compression·method:·····························none·(stored)
101 ··file·security·status:···························not·encrypted48 ··file·security·status:···························not·encrypted
102 ··extended·local·header:··························no49 ··extended·local·header:··························no
103 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:0050 ··file·last·modified·on·(DOS·date/time):··········1980·000·0·00:00:00
104 ··file·last·modified·on·(UT·extra·field·modtime):·1979·Nov·30·00:00:00·local 
105 ··file·last·modified·on·(UT·extra·field·modtime):·1979·Nov·30·00:00:00·UTC 
Max diff block lines reached; 2121773/2128982 bytes (99.66%) of diff not shown.
142 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·at·least·v2.0·to·extract1 Zip·archive·data,·at·least·v0.0·to·extract
21.7 KB
classes.dex
21.7 KB
classes.jar
3.71 KB
zipinfo {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 Zip·file·size:·14045781·bytes,·number·of·entries:·77821 Zip·file·size:·14045782·bytes,·number·of·entries:·7782
2 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·$r8$backportedMethods$utility$Integer$2$compare.class2 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·$r8$backportedMethods$utility$Integer$2$compare.class
3 ?rwxrwxr-x··2.0·unx······254·b-·stor·80-Jan-01·00:00·$r8$backportedMethods$utility$Objects$2$equals.class3 ?rwxrwxr-x··2.0·unx······254·b-·stor·80-Jan-01·00:00·$r8$backportedMethods$utility$Objects$2$equals.class
4 ?rwxrwxr-x··2.0·unx······414·b-·stor·80-Jan-01·00:00·android/support/customtabs/ICustomTabsCallback.class4 ?rwxrwxr-x··2.0·unx······414·b-·stor·80-Jan-01·00:00·android/support/customtabs/ICustomTabsCallback.class
5 ?rwxrwxr-x··2.0·unx······877·b-·stor·80-Jan-01·00:00·android/support/customtabs/ICustomTabsService.class5 ?rwxrwxr-x··2.0·unx······877·b-·stor·80-Jan-01·00:00·android/support/customtabs/ICustomTabsService.class
6 ?rwxrwxr-x··2.0·unx······347·b-·stor·80-Jan-01·00:00·android/support/customtabs/IPostMessageService.class6 ?rwxrwxr-x··2.0·unx······347·b-·stor·80-Jan-01·00:00·android/support/customtabs/IPostMessageService.class
7 ?rwxrwxr-x··2.0·unx······318·b-·stor·80-Jan-01·00:00·android/support/v4/app/INotificationSideChannel.class7 ?rwxrwxr-x··2.0·unx······318·b-·stor·80-Jan-01·00:00·android/support/v4/app/INotificationSideChannel.class
8 ?rwxrwxr-x··2.0·unx·····2930·b-·stor·80-Jan-01·00:00·android/support/v4/media/MediaBrowserCompat$CallbackHandler.class8 ?rwxrwxr-x··2.0·unx·····2930·b-·stor·80-Jan-01·00:00·android/support/v4/media/MediaBrowserCompat$CallbackHandler.class
Offset 6659, 15 lines modifiedOffset 6659, 15 lines modified
6659 ?rwxrwxr-x··2.0·unx·····1299·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/setup/WelcomeActivity$3.class6659 ?rwxrwxr-x··2.0·unx·····1299·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/setup/WelcomeActivity$3.class
6660 ?rwxrwxr-x··2.0·unx·····1210·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/setup/WelcomeActivity$4.class6660 ?rwxrwxr-x··2.0·unx·····1210·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/setup/WelcomeActivity$4.class
6661 ?rwxrwxr-x··2.0·unx······935·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/setup/WelcomeActivity$5.class6661 ?rwxrwxr-x··2.0·unx······935·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/setup/WelcomeActivity$5.class
6662 ?rwxrwxr-x··2.0·unx·····1036·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/setup/WelcomeActivity$6.class6662 ?rwxrwxr-x··2.0·unx·····1036·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/setup/WelcomeActivity$6.class
6663 ?rwxrwxr-x··2.0·unx······648·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/stream/-$$Lambda$LiveStreamActivity$fhs0L7A_6vGkuoD3Vnzrr0Mp8-Y.class6663 ?rwxrwxr-x··2.0·unx······648·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/stream/-$$Lambda$LiveStreamActivity$fhs0L7A_6vGkuoD3Vnzrr0Mp8-Y.class
6664 ?rwxrwxr-x··2.0·unx······716·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/-$$Lambda$SettingsCategoryAdapter$ZZ-BEb9kNOZps4kRileO1ac6YbA.class6664 ?rwxrwxr-x··2.0·unx······716·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/-$$Lambda$SettingsCategoryAdapter$ZZ-BEb9kNOZps4kRileO1ac6YbA.class
6665 ?rwxrwxr-x··2.0·unx······686·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/ChatAdapter$ContactViewHolder.class6665 ?rwxrwxr-x··2.0·unx······686·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/ChatAdapter$ContactViewHolder.class
6666 ?rwxrwxr-x··2.0·unx····10751·b-·defN·80-Jan-01·00:00·com/perflyst/twire/adapters/ChatAdapter.class6666 ?rwxrwxr-x··2.0·unx····10746·b-·defN·80-Jan-01·00:00·com/perflyst/twire/adapters/ChatAdapter.class
6667 ?rwxrwxr-x··2.0·unx······398·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/MainActivityAdapter$ElementsViewHolder.class6667 ?rwxrwxr-x··2.0·unx······398·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/MainActivityAdapter$ElementsViewHolder.class
6668 ?rwxrwxr-x··2.0·unx····11125·b-·defN·80-Jan-01·00:00·com/perflyst/twire/adapters/MainActivityAdapter.class6668 ?rwxrwxr-x··2.0·unx····11125·b-·defN·80-Jan-01·00:00·com/perflyst/twire/adapters/MainActivityAdapter.class
6669 ?rwxrwxr-x··2.0·unx······563·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/MentionAdapter$SuggestionViewHolder.class6669 ?rwxrwxr-x··2.0·unx······563·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/MentionAdapter$SuggestionViewHolder.class
6670 ?rwxrwxr-x··2.0·unx·····2605·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/MentionAdapter.class6670 ?rwxrwxr-x··2.0·unx·····2605·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/MentionAdapter.class
6671 ?rwxrwxr-x··2.0·unx······671·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/PanelAdapter$PanelViewHolder.class6671 ?rwxrwxr-x··2.0·unx······671·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/PanelAdapter$PanelViewHolder.class
6672 ?rwxrwxr-x··2.0·unx·····4020·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/PanelAdapter.class6672 ?rwxrwxr-x··2.0·unx·····4020·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/PanelAdapter.class
6673 ?rwxrwxr-x··2.0·unx·····1223·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/SettingsCategoryAdapter$SettingsCategoryViewHolder_ViewBinding.class6673 ?rwxrwxr-x··2.0·unx·····1223·b-·stor·80-Jan-01·00:00·com/perflyst/twire/adapters/SettingsCategoryAdapter$SettingsCategoryViewHolder_ViewBinding.class
Offset 7777, 8 lines modifiedOffset 7777, 8 lines modified
7777 ?rwxrwxr-x··2.0·unx·····3529·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/stream/VODActivity.class7777 ?rwxrwxr-x··2.0·unx·····3529·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/stream/VODActivity.class
7778 ?rwxrwxr-x··2.0·unx·····3486·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/GameActivity.class7778 ?rwxrwxr-x··2.0·unx·····3486·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/GameActivity.class
7779 ?rwxrwxr-x··2.0·unx·····3279·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/FeaturedStreamsActivity.class7779 ?rwxrwxr-x··2.0·unx·····3279·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/FeaturedStreamsActivity.class
7780 ?rwxrwxr-x··2.0·unx·····3427·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/MyGamesActivity.class7780 ?rwxrwxr-x··2.0·unx·····3427·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/MyGamesActivity.class
7781 ?rwxrwxr-x··2.0·unx·····3238·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/MyStreamsActivity.class7781 ?rwxrwxr-x··2.0·unx·····3238·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/MyStreamsActivity.class
7782 ?rwxrwxr-x··2.0·unx·····3171·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/TopGamesActivity.class7782 ?rwxrwxr-x··2.0·unx·····3171·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/TopGamesActivity.class
7783 ?rwxrwxr-x··2.0·unx·····2845·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/TopStreamsActivity.class7783 ?rwxrwxr-x··2.0·unx·····2845·b-·stor·80-Jan-01·00:00·com/perflyst/twire/activities/main/TopStreamsActivity.class
7784 7782·files,·15151758·bytes·uncompressed,·12527441·bytes·compressed:··17.3%7784 7782·files,·15151753·bytes·uncompressed,·12527442·bytes·compressed:··17.3%
17.9 KB
com/perflyst/twire/adapters/ChatAdapter.class
17.8 KB
procyon -ec {}
    
Offset 1, 18 lines modifiedOffset 1, 18 lines modified
  
1 package·com.perflyst.twire.adapters;1 package·com.perflyst.twire.adapters;
  
2 import·android.view.LayoutInflater;2 import·android.view.LayoutInflater;
3 import·android.view.ViewGroup;3 import·android.view.ViewGroup;
4 import·android.widget.TextView;4 import·android.widget.TextView;
5 import·com.perflyst.twire.model.Emote;5 import·com.perflyst.twire.model.Emote;
 6 import·com.perflyst.twire.service.Service;
6 import·android.view.View$OnClickListener;7 import·android.view.View$OnClickListener;
7 import·android.text.method.LinkMovementMethod;8 import·android.text.method.LinkMovementMethod;
8 import·android.text.style.RelativeSizeSpan;9 import·android.text.style.RelativeSizeSpan;
9 import·com.perflyst.twire.service.Service; 
10 import·com.perflyst.twire.model.ChatEmote;10 import·com.perflyst.twire.model.ChatEmote;
11 import·android.text.style.StyleSpan;11 import·android.text.style.StyleSpan;
12 import·android.text.style.ForegroundColorSpan;12 import·android.text.style.ForegroundColorSpan;
13 import·com.perflyst.twire.misc.GlideImageSpan;13 import·com.perflyst.twire.misc.GlideImageSpan;
14 import·com.perflyst.twire.model.Badge;14 import·com.perflyst.twire.model.Badge;
15 import·androidx.recyclerview.widget.RecyclerView$ViewHolder;15 import·androidx.recyclerview.widget.RecyclerView$ViewHolder;
16 import·android.view.View;16 import·android.view.View;
Offset 47, 27 lines modifiedOffset 47, 26 lines modified
47 ····47 ····
48 ····public·ChatAdapter(final·ChatRecyclerView·mRecyclerView,·Activity·context,·final·ChatAdapter$ChatAdapterCallback·mCallback)·{48 ····public·ChatAdapter(final·ChatRecyclerView·mRecyclerView,·Activity·context,·final·ChatAdapter$ChatAdapterCallback·mCallback)·{
49 ········this.LOG_TAG·=·this.getClass().getSimpleName();49 ········this.LOG_TAG·=·this.getClass().getSimpleName();
50 ········this.messages·=·new·ArrayList();50 ········this.messages·=·new·ArrayList();
51 ········this.mRecyclerView·=·mRecyclerView;51 ········this.mRecyclerView·=·mRecyclerView;
52 ········this.context·=·context;52 ········this.context·=·context;
53 ········this.mCallback·=·mCallback;53 ········this.mCallback·=·mCallback;
54 ········context·=·this.context; 
55 ········final·Settings·settings·=·new·Settings((Context)context);54 ········final·Settings·settings·=·new·Settings((Context)context);
56 ········this.settings·=·settings;55 ········this.settings·=·settings;
57 ········final·String·theme·=·settings.getTheme();56 ········final·String·theme·=·settings.getTheme();
58 ········context·=·this.context;57 ········context·=·this.context;
59 ········boolean·isNightTheme·=·false;58 ········boolean·isNightTheme·=·false;
60 ········Label_0152:·{59 ········Label_0147:·{
61 ············if·(!theme.equals(context.getString(2131689714)))·{60 ············if·(!theme.equals(context.getString(2131689714)))·{
62 ················final·String·theme2·=·this.settings.getTheme();61 ················final·String·theme2·=·this.settings.getTheme();
63 ················context·=·this.context;62 ················context·=·this.context;
64 ················if·(!theme2.equals(context.getString(2131689854)))·{63 ················if·(!theme2.equals(context.getString(2131689854)))·{
65 ····················isNightTheme·=·false;64 ····················isNightTheme·=·false;
66 ····················break·Label_0152;65 ····················break·Label_0147;
67 ················}66 ················}
68 ············}67 ············}
69 ············isNightTheme·=·true;68 ············isNightTheme·=·true;
70 ········}69 ········}
71 ········this.isNightTheme·=·isNightTheme;70 ········this.isNightTheme·=·isNightTheme;
72 ····}71 ····}
73 ····72 ····
Offset 275, 15 lines modifiedOffset 274, 15 lines modified
275 ····················································································································}274 ····················································································································}
276 ····················································································································final·ChatEmote·chatEmote·=·(ChatEmote)iterator2.next();275 ····················································································································final·ChatEmote·chatEmote·=·(ChatEmote)iterator2.next();
277 ····················································································································try·{276 ····················································································································try·{
278 ························································································································final·int[]·positions·=·chatEmote.getPositions();277 ························································································································final·int[]·positions·=·chatEmote.getPositions();
279 ························································································································try·{278 ························································································································try·{
280 ····························································································································int·length2·=·positions.length;279 ····························································································································int·length2·=·positions.length;
281 ····························································································································int·i·=·0;280 ····························································································································int·i·=·0;
282 ························································································································Block_69_Outer:281 ························································································································Label_0930_Outer:
283 ····························································································································while·(i·<·length2)·{282 ····························································································································while·(i·<·length2)·{
284 ································································································································final·int·j·=·positions[i];283 ································································································································final·int·j·=·positions[i];
285 ································································································································try·{284 ································································································································try·{
286 ····································································································································final·Integer·value2·=·Integer.valueOf(j);285 ····································································································································final·Integer·value2·=·Integer.valueOf(j);
287 ····································································································································try·{286 ····································································································································try·{
288 ········································································································································final·Emote·emote·=·chatEmote.getEmote();287 ········································································································································final·Emote·emote·=·chatEmote.getEmote();
289 ········································································································································try·{288 ········································································································································try·{
Offset 318, 46 lines modifiedOffset 317, 44 lines modified
318 ································································································································································final·GlideImageSpan·glideImageSpan4·=·glideImageSpan2;317 ································································································································································final·GlideImageSpan·glideImageSpan4·=·glideImageSpan2;
319 ································································································································································final·int·n7·=·length2;318 ································································································································································final·int·n7·=·length2;
320 ································································································································································new·GlideImageSpan(context3,·emoteUrl,·access$000,·text,·n5,·n6);319 ································································································································································new·GlideImageSpan(context3,·emoteUrl,·access$000,·text,·n5,·n6);
321 ································································································································································ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder).setTextIsSelectable((boolean)(textIsSelectable·!=·0));320 ································································································································································ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder).setTextIsSelectable((boolean)(textIsSelectable·!=·0));
322 ································································································································································text.setSpan((Object)glideImageSpan4,·n3·+·2,·n4·+·1·+·2,·18);321 ································································································································································text.setSpan((Object)glideImageSpan4,·n3·+·2,·n4·+·1·+·2,·18);
323 ································································································································································++i;322 ································································································································································++i;
324 ································································································································································length2·=·n7;323 ································································································································································length2·=·n7;
325 ································································································································································continue·Block_69_Outer;324 ································································································································································continue·Label_0930_Outer;
326 ································································································································································//·iftrue(Label_0930:,·!chatMessage.isHighlight()) 
327 ····························································································································································Label_0930: 
328 ································································································································································while·(true)·{325 ································································································································································while·(true)·{
329 ····································································································································································ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder).setBackgroundColor(Service.getColorAttribute(2130968742,·2131099672,·(Context)this.context)); 
330 ····································································································································································break·Label_0930; 
331 ····································································································································································continue; 
332 ································································································································································} 
333 ································································································································································try·{ 
334 ····································································································································································text.setSpan((Object)new·RelativeSizeSpan(this.getTextSize()),·0,·text.length(),·33); 
335 ····································································································································································ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder).setText((CharSequence)text); 
336 ····································································································································································final·TextView·access$2·=·ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder); 
337 ····································································································································································try·{326 ····································································································································································try·{
338 ········································································································································································access$2.setMovementMethod(LinkMovementMethod.getInstance());327 ········································································································································································text.setSpan((Object)new·RelativeSizeSpan(this.getTextSize()),·0,·text.length(),·33);
 328 ········································································································································································ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder).setText((CharSequence)text);
339 ········································································································································································final·TextView·access$3·=·ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder);329 ········································································································································································final·TextView·access$2·=·ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder);
340 ········································································································································································try·{330 ········································································································································································try·{
341 ············································································································································································final·-$$Lambda$ChatAdapter$hYagX6MSaf_0FFAMhpKB4gRSVyM·onClickListener·=·new·-$$Lambda$ChatAdapter$hYagX6MSaf_0FFAMhpKB4gRSVyM(this,·text,·chatMessage); 
342 ············································································································································································final·TextView·textView·=·access$3;331 ············································································································································································access$2.setMovementMethod(LinkMovementMethod.getInstance());
 332 ············································································································································································final·TextView·access$3·=·ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder);
343 ············································································································································································try·{333 ············································································································································································try·{
 334 ················································································································································································final·-$$Lambda$ChatAdapter$hYagX6MSaf_0FFAMhpKB4gRSVyM·onClickListener·=·new·-$$Lambda$ChatAdapter$hYagX6MSaf_0FFAMhpKB4gRSVyM(this,·text,·chatMessage);
 335 ················································································································································································final·TextView·textView·=·access$3;
 336 ················································································································································································try·{
344 ················································································································································································textView.setOnClickListener((View$OnClickListener)onClickListener);337 ····················································································································································································textView.setOnClickListener((View$OnClickListener)onClickListener);
345 ············································································································································································}338 ················································································································································································}
346 ············································································································································································catch·(Exception·ex)·{339 ················································································································································································catch·(Exception·ex)·{
347 ················································································································································································Log.d(this.LOG_TAG,·"Failed·to·show·Message");340 ····················································································································································································Log.d(this.LOG_TAG,·"Failed·to·show·Message");
348 ················································································································································································ex.printStackTrace();341 ····················································································································································································ex.printStackTrace();
 342 ················································································································································································}
349 ············································································································································································}343 ············································································································································································}
 344 ············································································································································································catch·(Exception·ex2)·{}
350 ········································································································································································}345 ········································································································································································}
351 ········································································································································································catch·(Exception·ex2)·{}346 ········································································································································································catch·(Exception·ex3)·{}
352 ····································································································································································}347 ····································································································································································}
353 ····································································································································································catch·(Exception·ex3)·{}348 ····································································································································································catch·(Exception·ex4)·{}
 349 ····································································································································································ChatAdapter$ContactViewHolder.access$000(chatAdapter$ContactViewHolder).setBackgroundColor(Service.getColorAttribute(2130968742,·2131099672,·(Context)this.context));
 350 ····································································································································································continue;
354 ································································································································································}351 ································································································································································}
355 ································································································································································catch·(Exception·ex4)·{} 
356 ····························································································································································}352 ····························································································································································}
 353 ····························································································································································//·iftrue(Label_0930:,·!chatMessage.isHighlight())
357 ····························································································································································catch·(Exception·ex5)·{}354 ····························································································································································catch·(Exception·ex5)·{}
358 ························································································································································}355 ························································································································································}
359 ························································································································································catch·(Exception·ex6)·{}356 ························································································································································catch·(Exception·ex6)·{}
360 ····················································································································································}357 ····················································································································································}
361 ····················································································································································catch·(Exception·ex7)·{}358 ····················································································································································catch·(Exception·ex7)·{}
362 ················································································································································}359 ················································································································································}
363 ················································································································································catch·(Exception·ex8)·{}360 ················································································································································catch·(Exception·ex8)·{}
789 B
smali/com/perflyst/twire/adapters/ChatAdapter.smali
    
Offset 81, 16 lines modifiedOffset 81, 14 lines modified
  
81 ····.line·5981 ····.line·59
82 ····iput-object·p3,·p0,·Lcom/perflyst/twire/adapters/ChatAdapter;->mCallback:Lcom/perflyst/twire/adapters/ChatAdapter$ChatAdapterCallback;82 ····iput-object·p3,·p0,·Lcom/perflyst/twire/adapters/ChatAdapter;->mCallback:Lcom/perflyst/twire/adapters/ChatAdapter$ChatAdapterCallback;
  
83 ····.line·6083 ····.line·60
84 ····new-instance·p1,·Lcom/perflyst/twire/service/Settings;84 ····new-instance·p1,·Lcom/perflyst/twire/service/Settings;
  
85 ····iget-object·p2,·p0,·Lcom/perflyst/twire/adapters/ChatAdapter;->context:Landroid/app/Activity; 
  
86 ····invoke-direct·{p1,·p2},·Lcom/perflyst/twire/service/Settings;-><init>(Landroid/content/Context;)V85 ····invoke-direct·{p1,·p2},·Lcom/perflyst/twire/service/Settings;-><init>(Landroid/content/Context;)V
  
87 ····iput-object·p1,·p0,·Lcom/perflyst/twire/adapters/ChatAdapter;->settings:Lcom/perflyst/twire/service/Settings;86 ····iput-object·p1,·p0,·Lcom/perflyst/twire/adapters/ChatAdapter;->settings:Lcom/perflyst/twire/service/Settings;
  
88 ····.line·6287 ····.line·62
89 ····invoke-virtual·{p1},·Lcom/perflyst/twire/service/Settings;->getTheme()Ljava/lang/String;88 ····invoke-virtual·{p1},·Lcom/perflyst/twire/service/Settings;->getTheme()Ljava/lang/String;