shadowsocks-android
Duplication

Intro
  • For duplication, we look at places in code where there are six or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 12% duplication:
    • 10,222 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,272 duplicated lines
  • 55 duplicates
system12% (1,272 lines)
Duplication per Extension
json91% (655 lines)
xml13% (455 lines)
kt3% (162 lines)
Duplication per Component (primary)
core12% (618 lines)
mobile15% (567 lines)
tv16% (72 lines)
plugin4% (15 lines)
ROOT0% (0 lines)
gradle0% (0 lines)
buildSrc0% (0 lines)

Duplication Between Components (50+ lines)

G tv tv mobile mobile tv--mobile 108 core core mobile--core 145 plugin plugin plugin--mobile 114

Download: SVG DOT (open online Graphviz editor)

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
Size#FoldersFilesLinesCode
85 x 2 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
27.json
10:111 (64%)
10:111 (62%)
view
71 x 2 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
28.json
29.json
10:94 (50%)
10:94 (47%)
view
71 x 2 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
27.json
28.json
80:163 (51%)
86:169 (50%)
view
61 x 4 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
29.json
27.json
28.json
10:82 (46%)
10:82 (41%)
10:82 (44%)
10:82 (42%)
view
40 x 3 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
27.json
28.json
111:157 (30%)
117:163 (29%)
123:169 (28%)
view
37 x 4 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
29.json
27.json
28.json
113:155 (28%)
131:173 (25%)
119:161 (27%)
125:167 (26%)
view
29 x 4 core/schemas/com.github....database.PublicDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
3.json
27.json
26.json
28.json
8:41 (82%)
130:163 (21%)
124:157 (21%)
136:169 (20%)
view
27 x 5 core/schemas/com.github....database.PublicDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
3.json
29.json
27.json
28.json
26.json
8:39 (77%)
142:173 (18%)
130:161 (19%)
136:167 (19%)
124:155 (20%)
view
27 x 2 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
28.json
80:111 (20%)
86:117 (19%)
view
16 x 4 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
29.json
27.json
28.json
87:105 (12%)
111:129 (10%)
87:105 (11%)
93:111 (11%)
view
16 x 2 tv
tv
google-services.json
google-services.json
26:44 (25%)
58:76 (25%)
view
14 x 2 tv
mobile
google-services.json
google-services.json
48:67 (22%)
54:73 (24%)
view
13 x 2 tv
mobile
google-services.json
google-services.json
2:16 (20%)
2:16 (22%)
view
13 x 2 tv
mobile
google-services.json
google-services.json
18:35 (20%)
26:43 (22%)
view
11 x 3 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
27.json
29.json
28.json
105:117 (8%)
93:105 (7%)
111:123 (7%)
view
11 x 2 mobile/src/main/java/com...hadowsocks/subscription
mobile/src/main/java/com/github/shadowsocks/acl
SubscriptionFragment.kt
CustomRulesFragment.kt
234:247 (6%)
405:417 (3%)
view
11 x 2 mobile
mobile
google-services.json
google-services.json
34:48 (18%)
64:78 (18%)
view
11 x 2 mobile/src/main/res/layout
mobile/src/main/res/layout
dialog_subscription.xml
dialog_acl_rule.xml
8:18 (61%)
16:26 (42%)
view
10 x 2 mobile/src/main/res/drawable
mobile/src/main/res/drawable
ic_service_connecting.xml
ic_service_stopped.xml
1:10 (43%)
1:10 (43%)
view
10 x 2 core/src/main/res/mipmap-anydpi-v24
core/src/main/res/mipmap-anydpi-v24
banner.xml
banner.xml
24:33 (13%)
34:43 (13%)
view
Most Frequent Duplicates
The list of 16 most frequently found duplicates.
Size#FoldersFilesLinesCode
7 x 15 core/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
plugin/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
...
ic_file_cloud_download.xml
ic_navigation_menu.xml
ic_action_dns.xml
ic_navigation_close.xml
ic_file_file_upload.xml
ic_action_delete.xml
ic_image_photo.xml
ic_image_looks_6.xml
ic_action_settings.xml
ic_maps_directions_boat.xml
...
1:7 (77%)
1:7 (77%)
1:7 (77%)
1:7 (77%)
1:7 (77%)
1:7 (77%)
1:7 (77%)
1:7 (77%)
1:7 (77%)
1:7 (77%)
...
view
8 x 12 mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
...
ic_action_dns.xml
ic_action_lock.xml
ic_file_file_upload.xml
ic_notification_enhanced_encryption.xml
ic_maps_directions_boat.xml
ic_image_photo.xml
ic_action_settings.xml
ic_navigation_menu.xml
ic_image_edit.xml
ic_action_done.xml
...
1:8 (88%)
1:8 (88%)
1:8 (88%)
1:8 (88%)
1:8 (88%)
1:8 (88%)
1:8 (88%)
1:8 (88%)
1:8 (88%)
1:8 (88%)
...
view
27 x 5 core/schemas/com.github....database.PublicDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
3.json
29.json
27.json
28.json
26.json
8:39 (77%)
142:173 (18%)
130:161 (19%)
136:167 (19%)
124:155 (20%)
view
61 x 4 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
29.json
27.json
28.json
10:82 (46%)
10:82 (41%)
10:82 (44%)
10:82 (42%)
view
16 x 4 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
29.json
27.json
28.json
87:105 (12%)
111:129 (10%)
87:105 (11%)
93:111 (11%)
view
37 x 4 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
29.json
27.json
28.json
113:155 (28%)
131:173 (25%)
119:161 (27%)
125:167 (26%)
view
8 x 4 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
29.json
27.json
28.json
80:88 (6%)
86:94 (5%)
80:88 (5%)
86:94 (5%)
view
6 x 4 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
29.json
27.json
28.json
105:111 (4%)
93:99 (4%)
105:111 (4%)
111:117 (4%)
view
6 x 4 core/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
ic_service_active.xml
ic_service_idle.xml
ic_qu_shadowsocks_foreground.xml
ic_service_busy.xml
1:7 (66%)
1:6 (35%)
1:7 (66%)
1:7 (66%)
view
29 x 4 core/schemas/com.github....database.PublicDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
3.json
27.json
26.json
28.json
8:41 (82%)
130:163 (21%)
124:157 (21%)
136:169 (20%)
view
40 x 3 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
26.json
27.json
28.json
111:157 (30%)
117:163 (29%)
123:169 (28%)
view
11 x 3 core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
core/schemas/com.github....atabase.PrivateDatabase
27.json
29.json
28.json
105:117 (8%)
93:105 (7%)
111:123 (7%)
view
9 x 3 mobile/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
ic_social_share.xml
ic_av_playlist_add.xml
ic_action_note_add.xml
1:9 (90%)
1:9 (90%)
1:9 (90%)
view
8 x 3 plugin/src/main/res/drawable
mobile/src/main/res/drawable
core/src/main/res/drawable
ic_navigation_close.xml
ic_action_delete.xml
ic_file_cloud_download.xml
1:8 (88%)
1:8 (88%)
1:8 (88%)
view
6 x 3 mobile/src/main/res/layout
mobile/src/main/res/layout
mobile/src/main/res/layout
dialog_acl_rule.xml
layout_about.xml
dialog_subscription.xml
1:6 (23%)
1:6 (28%)
1:6 (33%)
view
7 x 3 core/src/main/res/drawable
mobile/src/main/res/drawable
mobile/src/main/res/drawable
ic_service_active.xml
ic_qu_shadowsocks_foreground.xml
ic_service_busy.xml
1:8 (77%)
1:8 (77%)
1:8 (77%)
view