6.58 MB
/home/fdroid/fdroiddata/tmp/com.alexkang.loopboard_19.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_com.alexkang.loopboard_19.apk
1.82 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: META-INF/buildserverid entry referenced by META-INF/MANIFEST.MF not found in the APK ERROR: res/layout-v17/activity_main.xml entry referenced by META-INF/MANIFEST.MF not found in the APK ERROR: META-INF/fdroidserverid entry referenced by META-INF/MANIFEST.MF not found in the APK
    
Offset 1, 18 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:·e8fa0f971e2957a0b193eaa96fc598aa13b29fdd6269cda8f947c676e7f510b4 
10 Signer·#1·certificate·SHA-1·digest:·726dd5a5497d88c960b48ce7a3c413d88dcc8327 
11 Signer·#1·certificate·MD5·digest:·de42d9b307ad2fd82476a77d66916f89 
12 Signer·#1·key·algorithm:·RSA 
13 Signer·#1·key·size·(bits):·2048 
14 Signer·#1·public·key·SHA-256·digest:·1763a5f5be8982cd804588ee44141d9c01a9c3c5ea94a65d8250749d109306b9 
15 Signer·#1·public·key·SHA-1·digest:·d173386a1f64c238ba317b77e91e86acc0d331fb 
16 Signer·#1·public·key·MD5·digest:·0a90fc334acb77bbe2eeede57e4fd69b 
17 WARNING:·META-INF/buildserverid·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/fdroidserverid·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
5.29 KB
zipinfo {}
    
Offset 1, 33 lines modifiedOffset 1, 30 lines modified
1 Zip·file·size:·465110·bytes,·number·of·entries:·311 Zip·file·size:·463338·bytes,·number·of·entries:·28
2 -rw----·····2.0·fat·····2472·bl·defN·15-Apr-26·07:34·META-INF/MANIFEST.MF 
3 -rw----·····2.0·fat·····2593·bl·defN·15-Apr-26·07:34·META-INF/F86F92A7.SF 
4 -rw----·····2.0·fat·····1332·bl·defN·15-Apr-26·07:34·META-INF/F86F92A7.RSA 
5 -rw----·····2.0·fat·······41·bl·defN·15-Apr-26·07:03·META-INF/buildserverid 
6 -rw----·····2.0·fat·······41·bl·defN·15-Apr-26·07:03·META-INF/fdroidserverid 
7 -rw----·····2.0·fat·····2312·bX·defN·15-Apr-26·07:03·AndroidManifest.xml2 -rw----·····2.0·fat·····2312·bX·defN·17-Oct-21·00:26·AndroidManifest.xml
8 -rw----·····1.0·fat······231·b-·stor·15-Apr-26·07:02·res/drawable-hdpi-v4/ic_action_discard.png3 -rw----·····1.0·fat······231·b-·stor·17-Oct-21·00:26·res/drawable-hdpi-v4/ic_action_discard.png
9 -rw----·····1.0·fat······145·b-·stor·15-Apr-26·07:02·res/drawable-hdpi-v4/ic_action_stop.png4 -rw----·····1.0·fat······145·b-·stor·17-Oct-21·00:26·res/drawable-hdpi-v4/ic_action_stop.png
10 -rw----·····1.0·fat·····5915·b-·stor·15-Apr-26·07:02·res/drawable-hdpi-v4/ic_launcher.png5 -rw----·····1.0·fat·····5915·b-·stor·17-Oct-21·00:26·res/drawable-hdpi-v4/ic_launcher.png
11 -rw----·····1.0·fat······164·b-·stor·15-Apr-26·07:02·res/drawable-mdpi-v4/ic_action_discard.png6 -rw----·····1.0·fat······164·b-·stor·17-Oct-21·00:26·res/drawable-mdpi-v4/ic_action_discard.png
12 -rw----·····1.0·fat······115·b-·stor·15-Apr-26·07:02·res/drawable-mdpi-v4/ic_action_stop.png7 -rw----·····1.0·fat······115·b-·stor·17-Oct-21·00:26·res/drawable-mdpi-v4/ic_action_stop.png
13 -rw----·····1.0·fat·····3754·b-·stor·15-Apr-26·07:02·res/drawable-mdpi-v4/ic_launcher.png8 -rw----·····1.0·fat·····3754·b-·stor·17-Oct-21·00:26·res/drawable-mdpi-v4/ic_launcher.png
14 -rw----·····1.0·fat····18062·b-·stor·15-Apr-26·07:02·res/drawable-nodpi-v4/record_selected.png9 -rw----·····1.0·fat····18062·b-·stor·17-Oct-21·00:26·res/drawable-nodpi-v4/record_selected.png
15 -rw----·····1.0·fat····27082·b-·stor·15-Apr-26·07:02·res/drawable-nodpi-v4/record_unselected.png10 -rw----·····1.0·fat····27082·b-·stor·17-Oct-21·00:26·res/drawable-nodpi-v4/record_unselected.png
16 -rw----·····1.0·fat······207·b-·stor·15-Apr-26·07:02·res/drawable-xhdpi-v4/ic_action_discard.png11 -rw----·····1.0·fat······207·b-·stor·17-Oct-21·00:26·res/drawable-xhdpi-v4/ic_action_discard.png
17 -rw----·····1.0·fat······128·b-·stor·15-Apr-26·07:02·res/drawable-xhdpi-v4/ic_action_stop.png12 -rw----·····1.0·fat······128·b-·stor·17-Oct-21·00:26·res/drawable-xhdpi-v4/ic_action_stop.png
18 -rw----·····1.0·fat·····8036·b-·stor·15-Apr-26·07:02·res/drawable-xhdpi-v4/ic_launcher.png13 -rw----·····1.0·fat·····8036·b-·stor·17-Oct-21·00:26·res/drawable-xhdpi-v4/ic_launcher.png
19 -rw----·····1.0·fat······265·b-·stor·15-Apr-26·07:02·res/drawable-xxhdpi-v4/ic_action_discard.png14 -rw----·····1.0·fat······265·b-·stor·17-Oct-21·00:26·res/drawable-xxhdpi-v4/ic_action_discard.png
20 -rw----·····1.0·fat······145·b-·stor·15-Apr-26·07:02·res/drawable-xxhdpi-v4/ic_action_stop.png15 -rw----·····1.0·fat······145·b-·stor·17-Oct-21·00:26·res/drawable-xxhdpi-v4/ic_action_stop.png
21 -rw----·····1.0·fat····12747·b-·stor·15-Apr-26·07:02·res/drawable-xxhdpi-v4/ic_launcher.png16 -rw----·····1.0·fat····12747·b-·stor·17-Oct-21·00:26·res/drawable-xxhdpi-v4/ic_launcher.png
22 -rw----·····2.0·fat······584·bl·defN·15-Apr-26·07:03·res/drawable/loop_background.xml17 -rw----·····2.0·fat······584·bl·defN·17-Oct-21·00:26·res/drawable/loop_background.xml
23 -rw----·····2.0·fat······580·bl·defN·15-Apr-26·07:03·res/drawable/play_background.xml18 -rw----·····2.0·fat······580·bl·defN·17-Oct-21·00:26·res/drawable/play_background.xml
24 -rw----·····2.0·fat······580·bl·defN·15-Apr-26·07:03·res/drawable/record_background.xml19 -rw----·····2.0·fat······580·bl·defN·17-Oct-21·00:26·res/drawable/record_background.xml
25 -rw----·····2.0·fat······580·bl·defN·15-Apr-26·07:03·res/drawable/rerecord_background.xml20 -rw----·····2.0·fat······580·bl·defN·17-Oct-21·00:26·res/drawable/rerecord_background.xml
26 -rw----·····1.0·fat····17345·b-·stor·15-Apr-26·07:02·res/drawable/swirl_pattern.png21 -rw----·····1.0·fat····17345·b-·stor·17-Oct-21·00:26·res/drawable/swirl_pattern.png
27 -rw----·····2.0·fat·····1136·bl·defN·15-Apr-26·07:03·res/layout-v17/activity_main.xml 
28 -rw----·····2.0·fat·····1036·bl·defN·15-Apr-26·07:03·res/layout/activity_main.xml22 -rw----·····2.0·fat·····1136·bl·defN·17-Oct-21·00:26·res/layout/activity_main.xml
29 -rw----·····2.0·fat·····1280·bl·defN·15-Apr-26·07:03·res/layout/sound_clip_row.xml23 -rw----·····2.0·fat·····1280·bl·defN·17-Oct-21·00:26·res/layout/sound_clip_row.xml
30 -rw----·····2.0·fat······592·bl·defN·15-Apr-26·07:03·res/menu/main.xml24 -rw----·····2.0·fat······592·bl·defN·17-Oct-21·00:26·res/menu/main.xml
31 -rw----·····1.0·fat·····4560·b-·stor·15-Apr-26·07:02·resources.arsc25 -rw----·····1.0·fat·····4432·b-·stor·17-Oct-21·00:26·resources.arsc
32 -rw----·····2.0·fat··1172884·bl·defN·15-Apr-26·07:03·classes.dex26 -rw----·····2.0·fat··1172480·bl·defN·17-Oct-21·00:26·classes.dex
 27 -rw----·····2.0·fat·····2472·b-·defN·17-Oct-21·00:26·META-INF/MANIFEST.MF
 28 -rw----·····2.0·fat·····2593·b-·defN·17-Oct-21·00:26·META-INF/F86F92A7.SF
 29 -rw----·····2.0·fat·····1332·b-·defN·17-Oct-21·00:26·META-INF/F86F92A7.RSA
33 31·files,·1286944·bytes·uncompressed,·460495·bytes·compressed:··64.2%30 28·files,·1285294·bytes·uncompressed,·459228·bytes·compressed:··64.3%
123 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·at·least·v2.0·to·extract1 Java·archive·data·(JAR)
697 B
resources.arsc
669 B
aapt2 dump resources {}
    
Offset 58, 15 lines modifiedOffset 58, 14 lines modified
58 ····resource·0x7f090005·id/action_delete58 ····resource·0x7f090005·id/action_delete
59 ······()·(id)59 ······()·(id)
60 ····resource·0x7f090006·id/action_stop60 ····resource·0x7f090006·id/action_stop
61 ······()·(id)61 ······()·(id)
62 ··type·layout·id=03·entryCount=262 ··type·layout·id=03·entryCount=2
63 ····resource·0x7f030000·layout/activity_main63 ····resource·0x7f030000·layout/activity_main
64 ······()·(file)·res/layout/activity_main.xml·type=XML64 ······()·(file)·res/layout/activity_main.xml·type=XML
65 ······(v17)·(file)·res/layout-v17/activity_main.xml·type=XML 
66 ····resource·0x7f030001·layout/sound_clip_row65 ····resource·0x7f030001·layout/sound_clip_row
67 ······()·(file)·res/layout/sound_clip_row.xml·type=XML66 ······()·(file)·res/layout/sound_clip_row.xml·type=XML
68 ··type·menu·id=08·entryCount=167 ··type·menu·id=08·entryCount=1
69 ····resource·0x7f080000·menu/main68 ····resource·0x7f080000·menu/main
70 ······()·(file)·res/menu/main.xml·type=XML69 ······()·(file)·res/menu/main.xml·type=XML
71 ··type·string·id=06·entryCount=470 ··type·string·id=06·entryCount=4
72 ····resource·0x7f060000·string/action_delete71 ····resource·0x7f060000·string/action_delete
6.54 MB
classes.dex
6.54 MB
dexdump -a -d -f -h {}
Ignoring differences in offsets to keep diff size reasonable.
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 DEX·version·'035'1 DEX·version·'035'
2 DEX·file·header:2 DEX·file·header:
3 magic···············:·'dex\n035\0'3 magic···············:·'dex\n035\0'
4 checksum············:·5b8456ae4 checksum············:·d437eb88
5 signature···········:·6bec...32bf5 signature···········:·e57a...5072
6 file_size···········:·11728846 file_size···········:·1172480
7 header_size·········:·1127 header_size·········:·112
8 link_size···········:·08 link_size···········:·0
9 link_off············:·0·(0x000000)9 link_off············:·0·(0x000000)
10 string_ids_size·····:·882310 string_ids_size·····:·8823
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·129912 type_ids_size·······:·1299
13 type_ids_off········:·35404·(0x008a4c)13 type_ids_off········:·35404·(0x008a4c)
Offset 15, 15 lines modifiedOffset 15, 15 lines modified
15 proto_ids_off·······:·40600·(0x009e98)15 proto_ids_off·······:·40600·(0x009e98)
16 field_ids_size······:·222216 field_ids_size······:·2222
17 field_ids_off·······:·61684·(0x00f0f4)17 field_ids_off·······:·61684·(0x00f0f4)
18 method_ids_size·····:·827418 method_ids_size·····:·8274
19 method_ids_off······:·79460·(0x013664)19 method_ids_off······:·79460·(0x013664)
20 class_defs_size·····:·83920 class_defs_size·····:·839
21 class_defs_off······:·145652·(0x0238f4)21 class_defs_off······:·145652·(0x0238f4)
22 data_size···········:·98052422 data_size···········:·980120
23 data_off············:·192360·(0x02ef68)23 data_off············:·192360·(0x02ef68)
  
24 Class·#0·header:24 Class·#0·header:
25 class_idx···········:·18525 class_idx···········:·185
26 access_flags········:·9729·(0x2601)26 access_flags········:·9729·(0x2601)
27 superclass_idx······:·119527 superclass_idx······:·1195
28 source_file_idx·····:·53428 source_file_idx·····:·534
Offset 125322, 15 lines modifiedOffset 125322, 15 lines modified
125322 0705a0:·7010·a51f·0000·························|0002:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5125322 0705a0:·7010·a51f·0000·························|0002:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5
125323 0705a6:·0e00···································|0005:·return-void125323 0705a6:·0e00···································|0005:·return-void
125324 ······catches·······:·(none)125324 ······catches·······:·(none)
125325 ······positions·····:·125325 ······positions·····:·
125326 ········0x0000·line=69125326 ········0x0000·line=69
125327 ······locals········:·125327 ······locals········:·
125328 ········0x0000·-·0x0006·reg=0·this·Lcom/alexkang/loopboard/MainActivity$1;·125328 ········0x0000·-·0x0006·reg=0·this·Lcom/alexkang/loopboard/MainActivity$1;·
125329 ········0x0000·-·0x0006·reg=1·(null)·Lcom/alexkang/loopboard/MainActivity;·125329 ········0x0000·-·0x0006·reg=1·this$0·Lcom/alexkang/loopboard/MainActivity;·
  
125330 ··Virtual·methods···-125330 ··Virtual·methods···-
125331 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$1;)125331 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$1;)
125332 ······name··········:·'onTouch'125332 ······name··········:·'onTouch'
125333 ······type··········:·'(Landroid/view/View;Landroid/view/MotionEvent;)Z'125333 ······type··········:·'(Landroid/view/View;Landroid/view/MotionEvent;)Z'
125334 ······access········:·0x0001·(PUBLIC)125334 ······access········:·0x0001·(PUBLIC)
125335 ······code··········-125335 ······code··········-
Offset 125459, 15 lines modifiedOffset 125459, 15 lines modified
125459 07067c:·7010·a51f·0000·························|0008:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5125459 07067c:·7010·a51f·0000·························|0008:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5
125460 070682:·0e00···································|000b:·return-void125460 070682:·0e00···································|000b:·return-void
125461 ······catches·······:·(none)125461 ······catches·······:·(none)
125462 ······positions·····:·125462 ······positions·····:·
125463 ········0x0000·line=228125463 ········0x0000·line=228
125464 ······locals········:·125464 ······locals········:·
125465 ········0x0000·-·0x000c·reg=0·this·Lcom/alexkang/loopboard/MainActivity$2;·125465 ········0x0000·-·0x000c·reg=0·this·Lcom/alexkang/loopboard/MainActivity$2;·
125466 ········0x0000·-·0x000c·reg=1·(null)·Lcom/alexkang/loopboard/MainActivity;·125466 ········0x0000·-·0x000c·reg=1·this$0·Lcom/alexkang/loopboard/MainActivity;·
125467 ········0x0000·-·0x000c·reg=2·(null)·[B·125467 ········0x0000·-·0x000c·reg=2·(null)·[B·
125468 ········0x0000·-·0x000c·reg=3·(null)·Landroid/widget/EditText;·125468 ········0x0000·-·0x000c·reg=3·(null)·Landroid/widget/EditText;·
125469 ········0x0000·-·0x000c·reg=4·(null)·I·125469 ········0x0000·-·0x000c·reg=4·(null)·I·
  
125470 ··Virtual·methods···-125470 ··Virtual·methods···-
125471 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$2;)125471 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$2;)
125472 ······name··········:·'onClick'125472 ······name··········:·'onClick'
Offset 125549, 15 lines modifiedOffset 125549, 15 lines modified
125549 0706e0:·7010·a51f·0000·························|0004:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5125549 0706e0:·7010·a51f·0000·························|0004:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5
125550 0706e6:·0e00···································|0007:·return-void125550 0706e6:·0e00···································|0007:·return-void
125551 ······catches·······:·(none)125551 ······catches·······:·(none)
125552 ······positions·····:·125552 ······positions·····:·
125553 ········0x0000·line=304125553 ········0x0000·line=304
125554 ······locals········:·125554 ······locals········:·
125555 ········0x0000·-·0x0008·reg=0·this·Lcom/alexkang/loopboard/MainActivity$RecordingThread$1;·125555 ········0x0000·-·0x0008·reg=0·this·Lcom/alexkang/loopboard/MainActivity$RecordingThread$1;·
125556 ········0x0000·-·0x0008·reg=1·(null)·Lcom/alexkang/loopboard/MainActivity$RecordingThread;·125556 ········0x0000·-·0x0008·reg=1·this$1·Lcom/alexkang/loopboard/MainActivity$RecordingThread;·
125557 ········0x0000·-·0x0008·reg=2·(null)·[B·125557 ········0x0000·-·0x0008·reg=2·(null)·[B·
  
125558 ··Virtual·methods···-125558 ··Virtual·methods···-
125559 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$RecordingThread$1;)125559 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$RecordingThread$1;)
125560 ······name··········:·'run'125560 ······name··········:·'run'
125561 ······type··········:·'()V'125561 ······type··········:·'()V'
125562 ······access········:·0x0001·(PUBLIC)125562 ······access········:·0x0001·(PUBLIC)
Offset 125818, 15 lines modifiedOffset 125818, 15 lines modified
125818 0708ac:·7010·a51f·0000·························|0002:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5125818 0708ac:·7010·a51f·0000·························|0002:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5
125819 0708b2:·0e00···································|0005:·return-void125819 0708b2:·0e00···································|0005:·return-void
125820 ······catches·······:·(none)125820 ······catches·······:·(none)
125821 ······positions·····:·125821 ······positions·····:·
125822 ········0x0000·line=377125822 ········0x0000·line=377
125823 ······locals········:·125823 ······locals········:·
125824 ········0x0000·-·0x0006·reg=0·this·Lcom/alexkang/loopboard/MainActivity$SaveThread$1;·125824 ········0x0000·-·0x0006·reg=0·this·Lcom/alexkang/loopboard/MainActivity$SaveThread$1;·
125825 ········0x0000·-·0x0006·reg=1·(null)·Lcom/alexkang/loopboard/MainActivity$SaveThread;·125825 ········0x0000·-·0x0006·reg=1·this$1·Lcom/alexkang/loopboard/MainActivity$SaveThread;·
  
125826 ··Virtual·methods···-125826 ··Virtual·methods···-
125827 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$SaveThread$1;)125827 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$SaveThread$1;)
125828 ······name··········:·'run'125828 ······name··········:·'run'
125829 ······type··········:·'()V'125829 ······type··········:·'()V'
125830 ······access········:·0x0001·(PUBLIC)125830 ······access········:·0x0001·(PUBLIC)
125831 ······code··········-125831 ······code··········-
Offset 125904, 15 lines modifiedOffset 125904, 15 lines modified
125904 070920:·7010·a51f·0000·························|0002:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5125904 070920:·7010·a51f·0000·························|0002:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5
125905 070926:·0e00···································|0005:·return-void125905 070926:·0e00···································|0005:·return-void
125906 ······catches·······:·(none)125906 ······catches·······:·(none)
125907 ······positions·····:·125907 ······positions·····:·
125908 ········0x0000·line=386125908 ········0x0000·line=386
125909 ······locals········:·125909 ······locals········:·
125910 ········0x0000·-·0x0006·reg=0·this·Lcom/alexkang/loopboard/MainActivity$SaveThread$2;·125910 ········0x0000·-·0x0006·reg=0·this·Lcom/alexkang/loopboard/MainActivity$SaveThread$2;·
125911 ········0x0000·-·0x0006·reg=1·(null)·Lcom/alexkang/loopboard/MainActivity$SaveThread;·125911 ········0x0000·-·0x0006·reg=1·this$1·Lcom/alexkang/loopboard/MainActivity$SaveThread;·
  
125912 ··Virtual·methods···-125912 ··Virtual·methods···-
125913 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$SaveThread$2;)125913 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$SaveThread$2;)
125914 ······name··········:·'run'125914 ······name··········:·'run'
125915 ······type··········:·'()V'125915 ······type··········:·'()V'
125916 ······access········:·0x0001·(PUBLIC)125916 ······access········:·0x0001·(PUBLIC)
125917 ······code··········-125917 ······code··········-
Offset 126136, 15 lines modifiedOffset 126136, 15 lines modified
126136 070a94:·7010·a51f·0000·························|0002:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5126136 070a94:·7010·a51f·0000·························|0002:·invoke-direct·{v0},·Ljava/lang/Object;.<init>:()V·//·method@1fa5
126137 070a9a:·0e00···································|0005:·return-void126137 070a9a:·0e00···································|0005:·return-void
126138 ······catches·······:·(none)126138 ······catches·······:·(none)
126139 ······positions·····:·126139 ······positions·····:·
126140 ········0x0000·line=344126140 ········0x0000·line=344
126141 ······locals········:·126141 ······locals········:·
126142 ········0x0000·-·0x0006·reg=0·this·Lcom/alexkang/loopboard/MainActivity$StopThread$1;·126142 ········0x0000·-·0x0006·reg=0·this·Lcom/alexkang/loopboard/MainActivity$StopThread$1;·
126143 ········0x0000·-·0x0006·reg=1·(null)·Lcom/alexkang/loopboard/MainActivity$StopThread;·126143 ········0x0000·-·0x0006·reg=1·this$1·Lcom/alexkang/loopboard/MainActivity$StopThread;·
  
126144 ··Virtual·methods···-126144 ··Virtual·methods···-
126145 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$StopThread$1;)126145 ····#0··············:·(in·Lcom/alexkang/loopboard/MainActivity$StopThread$1;)
126146 ······name··········:·'run'126146 ······name··········:·'run'
126147 ······type··········:·'()V'126147 ······type··········:·'()V'
126148 ······access········:·0x0001·(PUBLIC)126148 ······access········:·0x0001·(PUBLIC)
126149 ······code··········-126149 ······code··········-
Offset 126419, 15 lines modifiedOffset 126419, 14 lines modified
126419 070c0c:·5c20·6108······························|000a:·iput-boolean·v0,·v2,·Lcom/alexkang/loopboard/MainActivity;.isRecording:Z·//·field@0861126419 070c0c:·5c20·6108······························|000a:·iput-boolean·v0,·v2,·Lcom/alexkang/loopboard/MainActivity;.isRecording:Z·//·field@0861
Max diff block lines reached; 6846491/6852637 bytes (99.91%) of diff not shown.
8.85 KB
classes.jar
3.43 KB
zipinfo {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 Zip·file·size:·1329235·bytes,·number·of·entries:·8391 Zip·file·size:·1329245·bytes,·number·of·entries:·839
2 ?rwxrwxr-x··2.0·unx······125·b-·stor·80-Jan-01·00:00·android/support/annotation/AnimRes.class2 ?rwxrwxr-x··2.0·unx······125·b-·stor·80-Jan-01·00:00·android/support/annotation/AnimRes.class
3 ?rwxrwxr-x··2.0·unx······129·b-·stor·80-Jan-01·00:00·android/support/annotation/AnimatorRes.class3 ?rwxrwxr-x··2.0·unx······129·b-·stor·80-Jan-01·00:00·android/support/annotation/AnimatorRes.class
4 ?rwxrwxr-x··2.0·unx······124·b-·stor·80-Jan-01·00:00·android/support/annotation/AnyRes.class4 ?rwxrwxr-x··2.0·unx······124·b-·stor·80-Jan-01·00:00·android/support/annotation/AnyRes.class
5 ?rwxrwxr-x··2.0·unx······126·b-·stor·80-Jan-01·00:00·android/support/annotation/ArrayRes.class5 ?rwxrwxr-x··2.0·unx······126·b-·stor·80-Jan-01·00:00·android/support/annotation/ArrayRes.class
6 ?rwxrwxr-x··2.0·unx······125·b-·stor·80-Jan-01·00:00·android/support/annotation/AttrRes.class6 ?rwxrwxr-x··2.0·unx······125·b-·stor·80-Jan-01·00:00·android/support/annotation/AttrRes.class
7 ?rwxrwxr-x··2.0·unx······125·b-·stor·80-Jan-01·00:00·android/support/annotation/BoolRes.class7 ?rwxrwxr-x··2.0·unx······125·b-·stor·80-Jan-01·00:00·android/support/annotation/BoolRes.class
8 ?rwxrwxr-x··2.0·unx······126·b-·stor·80-Jan-01·00:00·android/support/annotation/ColorRes.class8 ?rwxrwxr-x··2.0·unx······126·b-·stor·80-Jan-01·00:00·android/support/annotation/ColorRes.class
Offset 576, 15 lines modifiedOffset 576, 15 lines modified
576 ?rwxrwxr-x··2.0·unx······755·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$RecordingThread$1.class576 ?rwxrwxr-x··2.0·unx······755·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$RecordingThread$1.class
577 ?rwxrwxr-x··2.0·unx·····2059·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$RecordingThread.class577 ?rwxrwxr-x··2.0·unx·····2059·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$RecordingThread.class
578 ?rwxrwxr-x··2.0·unx······928·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$SaveThread$1.class578 ?rwxrwxr-x··2.0·unx······928·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$SaveThread$1.class
579 ?rwxrwxr-x··2.0·unx······702·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$SaveThread$2.class579 ?rwxrwxr-x··2.0·unx······702·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$SaveThread$2.class
580 ?rwxrwxr-x··2.0·unx·····1883·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$SaveThread.class580 ?rwxrwxr-x··2.0·unx·····1883·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$SaveThread.class
581 ?rwxrwxr-x··2.0·unx······702·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$StopThread$1.class581 ?rwxrwxr-x··2.0·unx······702·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$StopThread$1.class
582 ?rwxrwxr-x··2.0·unx·····1313·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$StopThread.class582 ?rwxrwxr-x··2.0·unx·····1313·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity$StopThread.class
583 ?rwxrwxr-x··2.0·unx·····8390·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity.class583 ?rwxrwxr-x··2.0·unx·····8400·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/MainActivity.class
584 ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$attr.class584 ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$attr.class
585 ?rwxrwxr-x··2.0·unx······302·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$color.class585 ?rwxrwxr-x··2.0·unx······302·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$color.class
586 ?rwxrwxr-x··2.0·unx······263·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$dimen.class586 ?rwxrwxr-x··2.0·unx······263·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$dimen.class
587 ?rwxrwxr-x··2.0·unx······561·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$drawable.class587 ?rwxrwxr-x··2.0·unx······561·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$drawable.class
588 ?rwxrwxr-x··2.0·unx······390·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$id.class588 ?rwxrwxr-x··2.0·unx······390·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$id.class
589 ?rwxrwxr-x··2.0·unx······241·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$layout.class589 ?rwxrwxr-x··2.0·unx······241·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$layout.class
590 ?rwxrwxr-x··2.0·unx······192·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$menu.class590 ?rwxrwxr-x··2.0·unx······192·b-·stor·80-Jan-01·00:00·com/alexkang/loopboard/R$menu.class
Offset 834, 8 lines modifiedOffset 834, 8 lines modified
834 ?rwxrwxr-x··2.0·unx······614·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewPropertyAnimatorCompat$KitKatViewPropertyAnimatorCompatImpl.class834 ?rwxrwxr-x··2.0·unx······614·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewPropertyAnimatorCompat$KitKatViewPropertyAnimatorCompatImpl.class
835 ?rwxrwxr-x··2.0·unx·····2051·b-·stor·80-Jan-01·00:00·android/support/v4/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityNodeInfoKitKatImpl.class835 ?rwxrwxr-x··2.0·unx·····2051·b-·stor·80-Jan-01·00:00·android/support/v4/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityNodeInfoKitKatImpl.class
836 ?rwxrwxr-x··2.0·unx·····1843·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewCompat$JBViewCompatImpl.class836 ?rwxrwxr-x··2.0·unx·····1843·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewCompat$JBViewCompatImpl.class
837 ?rwxrwxr-x··2.0·unx······968·b-·stor·80-Jan-01·00:00·android/support/v4/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityNodeInfoApi21Impl.class837 ?rwxrwxr-x··2.0·unx······968·b-·stor·80-Jan-01·00:00·android/support/v4/view/accessibility/AccessibilityNodeInfoCompat$AccessibilityNodeInfoApi21Impl.class
838 ?rwxrwxr-x··2.0·unx······934·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewCompat$JbMr1ViewCompatImpl.class838 ?rwxrwxr-x··2.0·unx······934·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewCompat$JbMr1ViewCompatImpl.class
839 ?rwxrwxr-x··2.0·unx······561·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewCompat$KitKatViewCompatImpl.class839 ?rwxrwxr-x··2.0·unx······561·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewCompat$KitKatViewCompatImpl.class
840 ?rwxrwxr-x··2.0·unx······984·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewCompat$Api21ViewCompatImpl.class840 ?rwxrwxr-x··2.0·unx······984·b-·stor·80-Jan-01·00:00·android/support/v4/view/ViewCompat$Api21ViewCompatImpl.class
841 839·files,·1287254·bytes·uncompressed,·1161539·bytes·compressed:··9.8%841 839·files,·1287264·bytes·uncompressed,·1161549·bytes·compressed:··9.8%
5.4 KB
com/alexkang/loopboard/MainActivity.class
5.32 KB
procyon -ec {}
    
Offset 51, 41 lines modifiedOffset 51, 44 lines modified
51 ········this.isRecording·=·false;51 ········this.isRecording·=·false;
52 ····}52 ····}
53 ····53 ····
54 ····private·void·deleteAll()·{54 ····private·void·deleteAll()·{
55 ········try·{55 ········try·{
56 ············this.stopAll();56 ············this.stopAll();
57 ············try·{57 ············try·{
58 ················final·File[]·listFiles; 
59 ················final·int·length·=·(listFiles·=·new·File(MainActivity.PATH).listFiles()).length;58 ················final·File[]·listFiles·=·new·File(MainActivity.PATH).listFiles();
 59 ················try·{
 60 ····················final·int·length·=·listFiles.length;
60 ················int·n·=·0;61 ····················int·n·=·0;
61 ················while·(true)·{62 ····················while·(true)·{
62 ····················Label_0103:·{63 ························Label_0109:·{
63 ························if·(n·>=·length)·{64 ····························if·(n·>=·length)·{
64 ····························break·Label_0103;65 ································break·Label_0109;
65 ························}66 ····························}
66 ························final·File·file·=·listFiles[n];67 ····························final·File·file·=·listFiles[n];
67 ························try·{68 ····························try·{
68 ····························if·(!file.getName().equals(".nomedia")·&&·!file.getName().equals("custom"))·{69 ································if·(!file.getName().equals(".nomedia")·&&·!file.getName().equals("custom"))·{
69 ································file.delete();70 ····································file.delete();
 71 ································}
 72 ································++n;
 73 ································continue;
 74 ································this.refreshRecordings();
 75 ································Toast.makeText((Context)this,·(CharSequence)"All·recordings·deleted",·0).show();
 76 ····························}
 77 ····························catch·(Exception·ex)·{
 78 ································ex.printStackTrace();
70 ····························}79 ····························}
71 ····························++n; 
72 ····························continue; 
73 ····························this.refreshRecordings(); 
74 ····························Toast.makeText((Context)this,·(CharSequence)"All·recordings·deleted",·0).show(); 
75 ························} 
76 ························catch·(Exception·ex)·{ 
77 ····························ex.printStackTrace(); 
78 ························}80 ························}
79 ····················}81 ····················}
80 ················}82 ················}
 83 ················catch·(Exception·ex2)·{}
81 ············}84 ············}
82 ············catch·(Exception·ex2)·{}85 ············catch·(Exception·ex3)·{}
83 ········}86 ········}
84 ········catch·(Exception·ex3)·{}87 ········catch·(Exception·ex4)·{}
85 ····}88 ····}
86 ····89 ····
87 ····private·void·nameRecording(final·byte[]·array,·final·int·n)·{90 ····private·void·nameRecording(final·byte[]·array,·final·int·n)·{
88 ········final·String[]·array2·=·{·"Sample·"·+·(n·-·this.numImported)·};91 ········final·String[]·array2·=·{·"Sample·"·+·(n·-·this.numImported)·};
89 ········final·AlertDialog$Builder·alertDialog$Builder·=·new·AlertDialog$Builder((Context)this);92 ········final·AlertDialog$Builder·alertDialog$Builder·=·new·AlertDialog$Builder((Context)this);
90 ········alertDialog$Builder.setMessage((CharSequence)"Name·your·recording");93 ········alertDialog$Builder.setMessage((CharSequence)"Name·your·recording");
91 ········final·EditText·view·=·new·EditText((Context)this);94 ········final·EditText·view·=·new·EditText((Context)this);
Offset 94, 45 lines modifiedOffset 97, 44 lines modified
94 ········alertDialog$Builder.setView((View)view);97 ········alertDialog$Builder.setView((View)view);
95 ········alertDialog$Builder.setPositiveButton((CharSequence)"Save",·(DialogInterface$OnClickListener)new·MainActivity$2(this,·array,·view,·n));98 ········alertDialog$Builder.setPositiveButton((CharSequence)"Save",·(DialogInterface$OnClickListener)new·MainActivity$2(this,·array,·view,·n));
96 ········alertDialog$Builder.setCancelable(false);99 ········alertDialog$Builder.setCancelable(false);
97 ········alertDialog$Builder.show();100 ········alertDialog$Builder.show();
98 ····}101 ····}
99 ····102 ····
100 ····private·void·refreshRecordings()·{103 ····private·void·refreshRecordings()·{
 104 ········int·i·=·0;
101 ········this.mSamples.clear();105 ········this.mSamples.clear();
102 ········this.numImported·=·0;106 ········this.numImported·=·0;
103 ········final·File[]·listFiles·=·new·File(MainActivity.PATH·+·"/custom").listFiles();107 ········final·File[]·listFiles·=·new·File(MainActivity.PATH·+·"/custom").listFiles();
104 ········for·(int·length·=·listFiles.length,·i·=·0;·i·<·length;·++i)·{108 ········for·(int·length·=·listFiles.length,·j·=·0;·j·<·length;·++j)·{
105 ············final·File·file·=·listFiles[i];109 ············final·File·file·=·listFiles[j];
106 ············final·String·name·=·file.getName();110 ············final·String·name·=·file.getName();
107 ············if·(name.endsWith(".wav")·||·name.endsWith(".mp3")·||·name.endsWith(".mp4")·||·name.endsWith(".m4a"))·{111 ············if·(name.endsWith(".wav")·||·name.endsWith(".mp3")·||·name.endsWith(".mp4")·||·name.endsWith(".m4a"))·{
108 ················this.mSamples.add(new·Sample(name.substring(0,·name.length()·-·4),·file,·(Context)this));112 ················this.mSamples.add(new·Sample(name.substring(0,·name.length()·-·4),·file,·(Context)this));
109 ················++this.numImported;113 ················++this.numImported;
110 ············}114 ············}
111 ········}115 ········}
112 ········final·File[]·listFiles2·=·new·File(MainActivity.PATH).listFiles();116 ········final·File[]·listFiles2·=·new·File(MainActivity.PATH).listFiles();
113 ········final·int·length2·=·listFiles2.length; 
114 ········int·j·=·0; 
115 ········while·(j·<·length2)·{117 ········while·(i·<·listFiles2.length)·{
116 ············final·File·file2·=·listFiles2[j];118 ············final·File·file2·=·listFiles2[i];
117 ············final·String·name2·=·file2.getName();119 ············final·String·name2·=·file2.getName();
118 ············while·(true)·{120 ············while·(true)·{
119 ················if·(name2.endsWith(".pcm"))·{121 ················if·(name2.endsWith(".pcm"))·{
120 ····················try·{122 ····················try·{
121 ························final·FileInputStream·fileInputStream·=·new·FileInputStream(file2);123 ························final·FileInputStream·fileInputStream·=·new·FileInputStream(file2);
122 ························final·byte[]·b·=·new·byte[(int)file2.length()];124 ························final·byte[]·b·=·new·byte[(int)file2.length()];
123 ························fileInputStream.read(b);125 ························fileInputStream.read(b);
124 ························fileInputStream.close();126 ························fileInputStream.close();
125 ························final·ArrayList·mSamples·=·this.mSamples;127 ························final·ArrayList·mSamples·=·this.mSamples;
126 ························try·{128 ························try·{
127 ····························final·Sample·e·=·new·Sample(name2.substring(0,·name2.length()·-·4),·b);129 ····························final·Sample·e·=·new·Sample(name2.substring(0,·name2.length()·-·4),·b);
128 ····························final·ArrayList·list·=·mSamples;130 ····························final·ArrayList·list·=·mSamples;
129 ····························try·{131 ····························try·{
130 ································list.add(e);132 ································list.add(e);
131 ································++j;133 ································++i;
132 ····························}134 ····························}
133 ····························catch·(Exception·ex)·{135 ····························catch·(Exception·ex)·{
134 ································ex.printStackTrace();136 ································ex.printStackTrace();
135 ····························}137 ····························}
136 ························}138 ························}
137 ························catch·(Exception·ex2)·{}139 ························catch·(Exception·ex2)·{}
138 ····················}140 ····················}
587 B
smali/com/alexkang/loopboard/SampleAdapter$3.smali
    
Offset 20, 14 lines modifiedOffset 20, 15 lines modified
20 #·instance·fields20 #·instance·fields
21 .field·final·synthetic·this$0:Lcom/alexkang/loopboard/SampleAdapter;21 .field·final·synthetic·this$0:Lcom/alexkang/loopboard/SampleAdapter;
  
  
22 #·direct·methods22 #·direct·methods
23 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;)V23 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;)V
24 ····.locals·024 ····.locals·0
 25 ····.param·p1,·"this$0"····#·Lcom/alexkang/loopboard/SampleAdapter;
  
25 ····.prologue26 ····.prologue
26 ····.line·6827 ····.line·68
27 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$3;->this$0:Lcom/alexkang/loopboard/SampleAdapter;28 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$3;->this$0:Lcom/alexkang/loopboard/SampleAdapter;
  
28 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V29 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
678 B
smali/com/alexkang/loopboard/MainActivity$RecordingThread$1.smali
    
Offset 22, 14 lines modifiedOffset 22, 15 lines modified
  
22 .field·final·synthetic·val$byteArray:[B22 .field·final·synthetic·val$byteArray:[B
  
  
23 #·direct·methods23 #·direct·methods
24 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity$RecordingThread;[B)V24 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity$RecordingThread;[B)V
25 ····.locals·025 ····.locals·0
 26 ····.param·p1,·"this$1"····#·Lcom/alexkang/loopboard/MainActivity$RecordingThread;
  
26 ····.prologue27 ····.prologue
27 ····.line·30428 ····.line·304
28 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$RecordingThread$1;->this$1:Lcom/alexkang/loopboard/MainActivity$RecordingThread;29 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$RecordingThread$1;->this$1:Lcom/alexkang/loopboard/MainActivity$RecordingThread;
  
29 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/MainActivity$RecordingThread$1;->val$byteArray:[B30 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/MainActivity$RecordingThread$1;->val$byteArray:[B
  
486 B
smali/com/alexkang/loopboard/SampleAdapter.smali
    
Offset 90, 15 lines modifiedOffset 90, 14 lines modified
90 ····check-cast·v0,·Lcom/alexkang/loopboard/Sample;90 ····check-cast·v0,·Lcom/alexkang/loopboard/Sample;
  
91 ····return-object·v091 ····return-object·v0
92 .end·method92 .end·method
  
93 .method·public·bridge·synthetic·getItem(I)Ljava/lang/Object;93 .method·public·bridge·synthetic·getItem(I)Ljava/lang/Object;
94 ····.locals·194 ····.locals·1
95 ····.param·p1,·"x0"····#·I 
  
96 ····.prologue95 ····.prologue
97 ····.line·1396 ····.line·13
98 ····invoke-virtual·{p0,·p1},·Lcom/alexkang/loopboard/SampleAdapter;->getItem(I)Lcom/alexkang/loopboard/Sample;97 ····invoke-virtual·{p0,·p1},·Lcom/alexkang/loopboard/SampleAdapter;->getItem(I)Lcom/alexkang/loopboard/Sample;
  
99 ····move-result-object·v098 ····move-result-object·v0
  
654 B
smali/com/alexkang/loopboard/SampleAdapter$6.smali
    
Offset 22, 14 lines modifiedOffset 22, 15 lines modified
  
22 .field·final·synthetic·val$sample:Lcom/alexkang/loopboard/Sample;22 .field·final·synthetic·val$sample:Lcom/alexkang/loopboard/Sample;
  
  
23 #·direct·methods23 #·direct·methods
24 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;Lcom/alexkang/loopboard/Sample;)V24 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;Lcom/alexkang/loopboard/Sample;)V
25 ····.locals·025 ····.locals·0
 26 ····.param·p1,·"this$0"····#·Lcom/alexkang/loopboard/SampleAdapter;
  
26 ····.prologue27 ····.prologue
27 ····.line·11628 ····.line·116
28 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$6;->this$0:Lcom/alexkang/loopboard/SampleAdapter;29 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$6;->this$0:Lcom/alexkang/loopboard/SampleAdapter;
  
29 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/SampleAdapter$6;->val$sample:Lcom/alexkang/loopboard/Sample;30 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/SampleAdapter$6;->val$sample:Lcom/alexkang/loopboard/Sample;
  
658 B
smali/com/alexkang/loopboard/MainActivity$SaveThread$2.smali
    
Offset 20, 14 lines modifiedOffset 20, 15 lines modified
20 #·instance·fields20 #·instance·fields
21 .field·final·synthetic·this$1:Lcom/alexkang/loopboard/MainActivity$SaveThread;21 .field·final·synthetic·this$1:Lcom/alexkang/loopboard/MainActivity$SaveThread;
  
  
22 #·direct·methods22 #·direct·methods
23 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity$SaveThread;)V23 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity$SaveThread;)V
24 ····.locals·024 ····.locals·0
 25 ····.param·p1,·"this$1"····#·Lcom/alexkang/loopboard/MainActivity$SaveThread;
  
25 ····.prologue26 ····.prologue
26 ····.line·38627 ····.line·386
27 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$SaveThread$2;->this$1:Lcom/alexkang/loopboard/MainActivity$SaveThread;28 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$SaveThread$2;->this$1:Lcom/alexkang/loopboard/MainActivity$SaveThread;
  
28 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V29 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
276 B
smali/com/alexkang/loopboard/R.smali
    
Offset 23, 10 lines modifiedOffset 23, 9 lines modified
23 .method·public·constructor·<init>()V23 .method·public·constructor·<init>()V
24 ····.locals·024 ····.locals·0
  
25 ····.prologue25 ····.prologue
26 ····.line·1026 ····.line·10
27 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V27 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
28 ····.line·57 
29 ····return-void28 ····return-void
30 .end·method29 .end·method
17.3 KB
smali/com/alexkang/loopboard/MainActivity.smali
    
Offset 96, 15 lines modifiedOffset 96, 14 lines modified
96 ····iput-wide·v0,·p0,·Lcom/alexkang/loopboard/MainActivity;->lastKnownTime:J96 ····iput-wide·v0,·p0,·Lcom/alexkang/loopboard/MainActivity;->lastKnownTime:J
  
97 ····.line·4897 ····.line·48
98 ····const/4·v0,·0x098 ····const/4·v0,·0x0
  
99 ····iput-boolean·v0,·p0,·Lcom/alexkang/loopboard/MainActivity;->isRecording:Z99 ····iput-boolean·v0,·p0,·Lcom/alexkang/loopboard/MainActivity;->isRecording:Z
  
100 ····.line·354 
101 ····return-void100 ····return-void
102 .end·method101 .end·method
  
103 .method·static·synthetic·access$100(Lcom/alexkang/loopboard/MainActivity;)Landroid/media/AudioRecord;102 .method·static·synthetic·access$100(Lcom/alexkang/loopboard/MainActivity;)Landroid/media/AudioRecord;
104 ····.locals·1103 ····.locals·1
105 ····.param·p0,·"x0"····#·Lcom/alexkang/loopboard/MainActivity;104 ····.param·p0,·"x0"····#·Lcom/alexkang/loopboard/MainActivity;
  
Offset 195, 113 lines modifiedOffset 194, 105 lines modified
195 ····return-object·v0194 ····return-object·v0
196 .end·method195 .end·method
  
197 .method·private·deleteAll()V196 .method·private·deleteAll()V
198 ····.locals·8197 ····.locals·8
  
199 ····.prologue198 ····.prologue
 199 ····const/4·v4,·0x0
  
200 ····.line·252200 ····.line·252
201 ····:try_start_0201 ····:try_start_0
202 ····invoke-direct·{p0},·Lcom/alexkang/loopboard/MainActivity;->stopAll()V202 ····invoke-direct·{p0},·Lcom/alexkang/loopboard/MainActivity;->stopAll()V
  
203 ····.line·254203 ····.line·254
204 ····new-instance·v6,·Ljava/io/File;204 ····new-instance·v3,·Ljava/io/File;
  
205 ····sget-object·v7,·Lcom/alexkang/loopboard/MainActivity;->PATH:Ljava/lang/String;205 ····sget-object·v5,·Lcom/alexkang/loopboard/MainActivity;->PATH:Ljava/lang/String;
  
206 ····invoke-direct·{v6,·v7},·Ljava/io/File;-><init>(Ljava/lang/String;)V206 ····invoke-direct·{v3,·v5},·Ljava/io/File;-><init>(Ljava/lang/String;)V
  
207 ····invoke-virtual·{v6},·Ljava/io/File;->listFiles()[Ljava/io/File;207 ····invoke-virtual·{v3},·Ljava/io/File;->listFiles()[Ljava/io/File;
  
208 ····move-result-object·v3208 ····move-result-object·v2
  
209 ····.line·255209 ····.line·255
210 ····.local·v3,·"files":[Ljava/io/File;210 ····.local·v2,·"files":[Ljava/io/File;
211 ····move-object·v0,·v3 
  
212 ····.local·v0,·"arr$":[Ljava/io/File; 
213 ····array-length·v5,·v0211 ····array-length·v5,·v2
  
 212 ····move·v3,·v4
214 ····.local·v5,·"len$":I 
215 ····const/4·v4,·0x0 
  
216 ····.local·v4,·"i$":I 
217 ····:goto_0213 ····:goto_0
218 ····if-ge·v4,·v5,·:cond_1214 ····if-ge·v3,·v5,·:cond_1
  
219 ····aget-object·v2,·v0,·v4215 ····aget-object·v1,·v2,·v3
  
220 ····.line·256216 ····.line·256
221 ····.local·v2,·"file":Ljava/io/File;217 ····.local·v1,·"file":Ljava/io/File;
222 ····invoke-virtual·{v2},·Ljava/io/File;->getName()Ljava/lang/String;218 ····invoke-virtual·{v1},·Ljava/io/File;->getName()Ljava/lang/String;
  
223 ····move-result-object·v6219 ····move-result-object·v6
  
224 ····const-string·v7,·".nomedia"220 ····const-string·v7,·".nomedia"
  
225 ····invoke-virtual·{v6,·v7},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z221 ····invoke-virtual·{v6,·v7},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  
226 ····move-result·v6222 ····move-result·v6
  
227 ····if-nez·v6,·:cond_0223 ····if-nez·v6,·:cond_0
  
228 ····invoke-virtual·{v2},·Ljava/io/File;->getName()Ljava/lang/String;224 ····invoke-virtual·{v1},·Ljava/io/File;->getName()Ljava/lang/String;
  
229 ····move-result-object·v6225 ····move-result-object·v6
  
230 ····const-string·v7,·"custom"226 ····const-string·v7,·"custom"
  
231 ····invoke-virtual·{v6,·v7},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z227 ····invoke-virtual·{v6,·v7},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  
232 ····move-result·v6228 ····move-result·v6
  
233 ····if-nez·v6,·:cond_0229 ····if-nez·v6,·:cond_0
  
234 ····.line·257230 ····.line·257
235 ····invoke-virtual·{v2},·Ljava/io/File;->delete()Z231 ····invoke-virtual·{v1},·Ljava/io/File;->delete()Z
  
236 ····.line·255232 ····.line·255
237 ····:cond_0233 ····:cond_0
238 ····add-int/lit8·v4,·v4,·0x1234 ····add-int/lit8·v3,·v3,·0x1
  
239 ····goto·:goto_0235 ····goto·:goto_0
  
240 ····.line·261236 ····.line·261
241 ····.end·local·v2····#·"file":Ljava/io/File;237 ····.end·local·v1····#·"file":Ljava/io/File;
242 ····:cond_1238 ····:cond_1
243 ····invoke-direct·{p0},·Lcom/alexkang/loopboard/MainActivity;->refreshRecordings()V239 ····invoke-direct·{p0},·Lcom/alexkang/loopboard/MainActivity;->refreshRecordings()V
244 ····:try_end_0240 ····:try_end_0
245 ····.catch·Ljava/lang/Exception;·{:try_start_0·..·:try_end_0}·:catch_0241 ····.catch·Ljava/lang/Exception;·{:try_start_0·..·:try_end_0}·:catch_0
  
246 ····.line·266242 ····.line·266
247 ····.end·local·v0····#·"arr$":[Ljava/io/File; 
248 ····.end·local·v3····#·"files":[Ljava/io/File;243 ····.end·local·v2····#·"files":[Ljava/io/File;
249 ····.end·local·v4····#·"i$":I 
250 ····.end·local·v5····#·"len$":I 
251 ····:goto_1244 ····:goto_1
252 ····const-string·v6,·"All·recordings·deleted"245 ····const-string·v3,·"All·recordings·deleted"
  
253 ····const/4·v7,·0x0246 ····invoke-static·{p0,·v3,·v4},·Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
  
254 ····invoke-static·{p0,·v6,·v7},·Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; 
  
255 ····move-result-object·v6247 ····move-result-object·v3
  
256 ····invoke-virtual·{v6},·Landroid/widget/Toast;->show()V248 ····invoke-virtual·{v3},·Landroid/widget/Toast;->show()V
  
257 ····.line·267249 ····.line·267
258 ····return-void250 ····return-void
  
259 ····.line·262251 ····.line·262
260 ····:catch_0252 ····:catch_0
261 ····move-exception·v1253 ····move-exception·v0
  
262 ····.line·263254 ····.line·263
263 ····.local·v1,·"e":Ljava/lang/Exception;255 ····.local·v0,·"e":Ljava/lang/Exception;
264 ····invoke-virtual·{v1},·Ljava/lang/Exception;->printStackTrace()V256 ····invoke-virtual·{v0},·Ljava/lang/Exception;->printStackTrace()V
  
265 ····goto·:goto_1257 ····goto·:goto_1
Max diff block lines reached; 13405/17614 bytes (76.10%) of diff not shown.
658 B
smali/com/alexkang/loopboard/MainActivity$SaveThread$1.smali
    
Offset 20, 14 lines modifiedOffset 20, 15 lines modified
20 #·instance·fields20 #·instance·fields
21 .field·final·synthetic·this$1:Lcom/alexkang/loopboard/MainActivity$SaveThread;21 .field·final·synthetic·this$1:Lcom/alexkang/loopboard/MainActivity$SaveThread;
  
  
22 #·direct·methods22 #·direct·methods
23 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity$SaveThread;)V23 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity$SaveThread;)V
24 ····.locals·024 ····.locals·0
 25 ····.param·p1,·"this$1"····#·Lcom/alexkang/loopboard/MainActivity$SaveThread;
  
25 ····.prologue26 ····.prologue
26 ····.line·37727 ····.line·377
27 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$SaveThread$1;->this$1:Lcom/alexkang/loopboard/MainActivity$SaveThread;28 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$SaveThread$1;->this$1:Lcom/alexkang/loopboard/MainActivity$SaveThread;
  
28 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V29 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
676 B
smali/com/alexkang/loopboard/SampleAdapter$1.smali
    
Offset 24, 14 lines modifiedOffset 24, 15 lines modified
  
24 .field·final·synthetic·val$sample:Lcom/alexkang/loopboard/Sample;24 .field·final·synthetic·val$sample:Lcom/alexkang/loopboard/Sample;
  
  
25 #·direct·methods25 #·direct·methods
26 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;Lcom/alexkang/loopboard/Sample;Landroid/widget/Button;)V26 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;Lcom/alexkang/loopboard/Sample;Landroid/widget/Button;)V
27 ····.locals·027 ····.locals·0
 28 ····.param·p1,·"this$0"····#·Lcom/alexkang/loopboard/SampleAdapter;
  
28 ····.prologue29 ····.prologue
29 ····.line·5230 ····.line·52
30 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$1;->this$0:Lcom/alexkang/loopboard/SampleAdapter;31 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$1;->this$0:Lcom/alexkang/loopboard/SampleAdapter;
  
31 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/SampleAdapter$1;->val$sample:Lcom/alexkang/loopboard/Sample;32 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/SampleAdapter$1;->val$sample:Lcom/alexkang/loopboard/Sample;
  
580 B
smali/com/alexkang/loopboard/MainActivity$1.smali
    
Offset 20, 14 lines modifiedOffset 20, 15 lines modified
20 #·instance·fields20 #·instance·fields
21 .field·final·synthetic·this$0:Lcom/alexkang/loopboard/MainActivity;21 .field·final·synthetic·this$0:Lcom/alexkang/loopboard/MainActivity;
  
  
22 #·direct·methods22 #·direct·methods
23 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity;)V23 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity;)V
24 ····.locals·024 ····.locals·0
 25 ····.param·p1,·"this$0"····#·Lcom/alexkang/loopboard/MainActivity;
  
25 ····.prologue26 ····.prologue
26 ····.line·6927 ····.line·69
27 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$1;->this$0:Lcom/alexkang/loopboard/MainActivity;28 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$1;->this$0:Lcom/alexkang/loopboard/MainActivity;
  
28 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V29 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
587 B
smali/com/alexkang/loopboard/MainActivity$2.smali
    
Offset 26, 14 lines modifiedOffset 26, 15 lines modified
  
26 .field·final·synthetic·val$index:I26 .field·final·synthetic·val$index:I
  
  
27 #·direct·methods27 #·direct·methods
28 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity;[BLandroid/widget/EditText;I)V28 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity;[BLandroid/widget/EditText;I)V
29 ····.locals·029 ····.locals·0
 30 ····.param·p1,·"this$0"····#·Lcom/alexkang/loopboard/MainActivity;
  
30 ····.prologue31 ····.prologue
31 ····.line·22832 ····.line·228
32 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$2;->this$0:Lcom/alexkang/loopboard/MainActivity;33 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$2;->this$0:Lcom/alexkang/loopboard/MainActivity;
  
33 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/MainActivity$2;->val$byteArray:[B34 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/MainActivity$2;->val$byteArray:[B
  
642 B
smali/com/alexkang/loopboard/SampleAdapter$4.smali
    
Offset 26, 14 lines modifiedOffset 26, 15 lines modified
  
26 .field·final·synthetic·val$sample:Lcom/alexkang/loopboard/Sample;26 .field·final·synthetic·val$sample:Lcom/alexkang/loopboard/Sample;
  
  
27 #·direct·methods27 #·direct·methods
28 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;ILcom/alexkang/loopboard/Sample;Landroid/widget/Button;)V28 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;ILcom/alexkang/loopboard/Sample;Landroid/widget/Button;)V
29 ····.locals·029 ····.locals·0
 30 ····.param·p1,·"this$0"····#·Lcom/alexkang/loopboard/SampleAdapter;
  
30 ····.prologue31 ····.prologue
31 ····.line·7232 ····.line·72
32 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$4;->this$0:Lcom/alexkang/loopboard/SampleAdapter;33 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$4;->this$0:Lcom/alexkang/loopboard/SampleAdapter;
  
33 ····iput·p2,·p0,·Lcom/alexkang/loopboard/SampleAdapter$4;->val$position:I34 ····iput·p2,·p0,·Lcom/alexkang/loopboard/SampleAdapter$4;->val$position:I
  
587 B
smali/com/alexkang/loopboard/SampleAdapter$2.smali
    
Offset 20, 14 lines modifiedOffset 20, 15 lines modified
20 #·instance·fields20 #·instance·fields
21 .field·final·synthetic·this$0:Lcom/alexkang/loopboard/SampleAdapter;21 .field·final·synthetic·this$0:Lcom/alexkang/loopboard/SampleAdapter;
  
  
22 #·direct·methods22 #·direct·methods
23 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;)V23 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;)V
24 ····.locals·024 ····.locals·0
 25 ····.param·p1,·"this$0"····#·Lcom/alexkang/loopboard/SampleAdapter;
  
25 ····.prologue26 ····.prologue
26 ····.line·6027 ····.line·60
27 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$2;->this$0:Lcom/alexkang/loopboard/SampleAdapter;28 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$2;->this$0:Lcom/alexkang/loopboard/SampleAdapter;
  
28 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V29 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
658 B
smali/com/alexkang/loopboard/MainActivity$StopThread$1.smali
    
Offset 20, 14 lines modifiedOffset 20, 15 lines modified
20 #·instance·fields20 #·instance·fields
21 .field·final·synthetic·this$1:Lcom/alexkang/loopboard/MainActivity$StopThread;21 .field·final·synthetic·this$1:Lcom/alexkang/loopboard/MainActivity$StopThread;
  
  
22 #·direct·methods22 #·direct·methods
23 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity$StopThread;)V23 .method·constructor·<init>(Lcom/alexkang/loopboard/MainActivity$StopThread;)V
24 ····.locals·024 ····.locals·0
 25 ····.param·p1,·"this$1"····#·Lcom/alexkang/loopboard/MainActivity$StopThread;
  
25 ····.prologue26 ····.prologue
26 ····.line·34427 ····.line·344
27 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$StopThread$1;->this$1:Lcom/alexkang/loopboard/MainActivity$StopThread;28 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/MainActivity$StopThread$1;->this$1:Lcom/alexkang/loopboard/MainActivity$StopThread;
  
28 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V29 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
677 B
smali/com/alexkang/loopboard/SampleAdapter$5.smali
    
Offset 24, 14 lines modifiedOffset 24, 15 lines modified
  
24 .field·final·synthetic·val$sample:Lcom/alexkang/loopboard/Sample;24 .field·final·synthetic·val$sample:Lcom/alexkang/loopboard/Sample;
  
  
25 #·direct·methods25 #·direct·methods
26 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;Lcom/alexkang/loopboard/Sample;Landroid/widget/Button;)V26 .method·constructor·<init>(Lcom/alexkang/loopboard/SampleAdapter;Lcom/alexkang/loopboard/Sample;Landroid/widget/Button;)V
27 ····.locals·027 ····.locals·0
 28 ····.param·p1,·"this$0"····#·Lcom/alexkang/loopboard/SampleAdapter;
  
28 ····.prologue29 ····.prologue
29 ····.line·10130 ····.line·101
30 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$5;->this$0:Lcom/alexkang/loopboard/SampleAdapter;31 ····iput-object·p1,·p0,·Lcom/alexkang/loopboard/SampleAdapter$5;->this$0:Lcom/alexkang/loopboard/SampleAdapter;
  
31 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/SampleAdapter$5;->val$sample:Lcom/alexkang/loopboard/Sample;32 ····iput-object·p2,·p0,·Lcom/alexkang/loopboard/SampleAdapter$5;->val$sample:Lcom/alexkang/loopboard/Sample;
  
1.24 KB
res/layout/activity_main.xml
1.19 KB
res/layout/activity_main.xml
    
Offset 1, 5 lines modifiedOffset 1, 5 lines modified
1 <?xml·version="1.0"·encoding="utf-8"?>1 <?xml·version="1.0"·encoding="utf-8"?>
2 <RelativeLayout·xmlns:android="http://schemas.android.com/apk/res/android"·android:orientation="vertical"·android:layout_width="fill_parent"·android:layout_height="fill_parent">2 <RelativeLayout·xmlns:android="http://schemas.android.com/apk/res/android"·android:orientation="vertical"·android:layout_width="fill_parent"·android:layout_height="fill_parent">
3 ··<ListView·android:id="@id/sound_list"·android:layout_width="fill_parent"·android:layout_height="fill_parent"·android:divider="@color/charcoal"·android:dividerHeight="0.25dip"·android:footerDividersEnabled="false"/>3 ··<ListView·android:id="@id/sound_list"·android:layout_width="fill_parent"·android:layout_height="fill_parent"·android:divider="@color/charcoal"·android:dividerHeight="0.25dip"·android:footerDividersEnabled="false"/>
4 ··<Button·android:id="@id/rec_button"·android:background="@drawable/record_background"·android:layout_width="72.0dip"·android:layout_height="72.0dip"·android:layout_marginRight="16.0dip"·android:layout_marginBottom="16.0dip"·android:layout_alignParentRight="true"·android:layout_alignParentBottom="true"/>4 ··<Button·android:id="@id/rec_button"·android:background="@drawable/record_background"·android:layout_width="72.0dip"·android:layout_height="72.0dip"·android:layout_marginRight="16.0dip"·android:layout_marginBottom="16.0dip"·android:layout_alignParentRight="true"·android:layout_alignParentBottom="true"·android:layout_marginEnd="16.0dip"·android:layout_alignParentEnd="true"/>
5 </RelativeLayout>5 </RelativeLayout>