android / connectivity-samples
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 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
  • 15% duplication:
    • 8,763 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,362 duplicated lines
  • 72 duplicates
system15% (1,362 lines)
Duplication per Extension
java24% (1,117 lines)
cpp6% (158 lines)
h7% (75 lines)
kt1% (12 lines)
Duplication per Component (primary)
NearbyConnectionsWalkieTalkie44% (551 lines)
NearbyConnectionsCpp8% (321 lines)
BluetoothChat32% (253 lines)
BeamLargeFiles71% (204 lines)
NearbyConnectionsRockPaperScissors8% (21 lines)
BluetoothLeChat1% (6 lines)
BluetoothAdvertisementsKotlin1% (6 lines)
CronetKotlin0% (0 lines)
WifiRttScan0% (0 lines)
BluetoothLeGatt0% (0 lines)
BluetoothAdvertisements0% (0 lines)
NetworkConnect0% (0 lines)

Duplication Between Components (50+ lines)

G BeamLargeFiles BeamLargeFiles BluetoothChat BluetoothChat BeamLargeFiles--BluetoothChat 409

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 72 duplicates...
Size#FoldersFilesLinesCode
71 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
328:424 (20%)
389:485 (17%)
view
60 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
LogView.java
LogView.java
25:141 (100%)
25:141 (100%)
view
46 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
Log.java
Log.java
26:234 (100%)
26:234 (100%)
view
42 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
LogFragment.java
LogFragment.java
49:107 (100%)
49:107 (100%)
view
37 x 2 NearbyConnectionsCpp/app/src/main/cpp/jui_helper
NearbyConnectionsCpp/app/src/main/cpp/jui_helper
JavaUI.cpp
JavaUI_Dialog.cpp
256:293 (12%)
218:255 (22%)
view
35 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
484:548 (10%)
577:641 (8%)
view
34 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
551:599 (9%)
659:707 (8%)
view
16 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
LogWrapper.java
LogWrapper.java
24:72 (100%)
24:72 (100%)
view
15 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
142:164 (4%)
167:189 (3%)
view
14 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
257:286 (4%)
286:315 (3%)
view
13 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
MessageOnlyLogFilter.java
MessageOnlyLogFilter.java
23:57 (100%)
23:57 (100%)
view
13 x 2 BeamLargeFiles/Applicati...droid/common/activities
BluetoothChat/Applicatio...droid/common/activities
SampleActivityBase.java
SampleActivityBase.java
28:50 (100%)
28:50 (100%)
view
12 x 2 BluetoothChat/Applicatio...e/android/bluetoothchat
BluetoothChat/Applicatio...e/android/bluetoothchat
BluetoothChatService.java
BluetoothChatService.java
176:194 (4%)
217:234 (4%)
view
12 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
225:240 (3%)
249:264 (2%)
view
12 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
111:127 (3%)
118:134 (2%)
view
11 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
606:622 (3%)
719:735 (2%)
view
11 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
314:328 (3%)
372:386 (2%)
view
11 x 2 NearbyConnectionsCpp/app/src/main/cpp/jui_helper
NearbyConnectionsCpp/app/src/main/cpp/jui_helper
JavaUI.cpp
JavaUI_Dialog.cpp
177:188 (3%)
43:54 (6%)
view
11 x 2 NearbyConnectionsCpp/app/src/main/cpp/jui_helper
NearbyConnectionsCpp/app/src/main/cpp/jui_helper
JavaUI_Window.cpp
JavaUI_Window.cpp
236:250 (5%)
270:284 (5%)
view
10 x 2 NearbyConnectionsCpp/app/src/main/cpp/jui_helper
NearbyConnectionsCpp/app/src/main/cpp/jui_helper
JavaUI.h
JavaUI_View.h
76:94 (8%)
500:515 (2%)
view
Duplicated Units
The list of top 16 duplicated units.
See data for all 16 unit duplicates...
Size#FoldersFilesLinesCode
43 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
LogView.java
LogView.java
48:106 
48:106 
view
41 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
438:480 
377:419 
view
22 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
LogFragment.java
LogFragment.java
56:83 
56:83 
view
16 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
395:413 
334:352 
view
16 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
417:435 
356:374 
view
14 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
LogFragment.java
LogFragment.java
86:104 
86:104 
view
13 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsCpp/app...games/nearbyconnections
ConnectionsActivity.java
NearbyNativeActivity.java
178:191 
151:164 
view
12 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
LogWrapper.java
LogWrapper.java
52:74 
52:74 
view
10 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
577:591 
484:498 
view
9 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
286:296 
257:267 
view
9 x 2 BluetoothChat/Applicatio...e/android/bluetoothchat
BluetoothChat/Applicatio...e/android/bluetoothchat
BluetoothChatService.java
BluetoothChatService.java
262:276 
281:295 
view
8 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsRockPap.../apps/rockpaperscissors
ConnectionsActivity.java
MainActivity.java
519:527 
192:200 
view
8 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
AudioPlayer.java
AudioRecorder.java
93:101 
115:123 
view
8 x 2 BeamLargeFiles/Applicati...e/android/common/logger
BluetoothChat/Applicatio...e/android/common/logger
LogView.java
LogView.java
125:134 
125:134 
view
7 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
701:708 
593:600 
view
6 x 2 NearbyConnectionsWalkieT...earby/apps/walkietalkie
NearbyConnectionsWalkieT...earby/apps/walkietalkie
MainActivity.java
MainActivity.java
594:600 
501:507 
view