android / location-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
  • 14% duplication:
    • 2,818 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 420 duplicated lines
  • 55 duplicates
system14% (420 lines)
Duplication per Extension
java19% (314 lines)
kt8% (106 lines)
Duplication per Component (primary)
Geofencing22% (62 lines)
LocationAddress28% (61 lines)
LocationUpdatesPendingIntent22% (53 lines)
LocationUpdatesForegroundService14% (47 lines)
LocationUpdates20% (47 lines)
BasicLocation44% (44 lines)
CurrentLocationKotlin26% (29 lines)
LocationUpdatesBackgroundKotlin6% (29 lines)
AwarenessApisSampleKotlin28% (18 lines)
SleepSampleKotlin5% (18 lines)
LocationAddressKotlin3% (6 lines)
BasicLocationKotlin8% (6 lines)
ActivityRecognition0% (0 lines)

Duplication Between Components (50+ lines)

G Geofencing Geofencing LocationAddress LocationAddress Geofencing--LocationAddress 114 LocationUpdates LocationUpdates Geofencing--LocationUpdates 94 LocationUpdatesForegroundService LocationUpdatesForegroundService Geofencing--LocationUpdatesForegroundService 58 LocationAddress--LocationUpdates 86 LocationAddress--LocationUpdatesForegroundService 58 LocationUpdates--LocationUpdatesForegroundService 58 BasicLocation BasicLocation BasicLocation--Geofencing 68 BasicLocation--LocationAddress 88 LocationUpdatesPendingIntent LocationUpdatesPendingIntent LocationUpdatesForegroundService--LocationUpdatesPendingIntent 82 CurrentLocationKotlin CurrentLocationKotlin LocationUpdatesBackgroundKotlin LocationUpdatesBackgroundKotlin CurrentLocationKotlin--LocationUpdatesBackgroundKotlin 58

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 55 duplicates...
Size#FoldersFilesLinesCode
31 x 2 Geofencing/app/src/main/...ation/sample/geofencing
LocationAddress/app/src/.../sample/locationaddress
MainActivity.java
MainActivity.java
350:398 (18%)
334:384 (19%)
view
19 x 2 LocationAddress/app/src/.../sample/locationaddress
LocationUpdates/app/src/.../sample/locationupdates
MainActivity.java
MainActivity.java
352:384 (12%)
500:531 (8%)
view
19 x 2 Geofencing/app/src/main/...ation/sample/geofencing
LocationUpdates/app/src/.../sample/locationupdates
MainActivity.java
MainActivity.java
367:398 (11%)
500:531 (8%)
view
18 x 2 AwarenessApisSampleKotli...arenessapissamplekotlin
SleepSampleKotlin/app/sr...ample/sleepsamplekotlin
MainActivity.kt
MainActivity.kt
109:128 (28%)
183:202 (16%)
view
17 x 2 LocationUpdatesForegroun...pdatesforegroundservice
LocationUpdatesPendingIn...ionupdatespendingintent
MainActivity.java
MainActivity.java
258:276 (12%)
290:308 (11%)
view
14 x 2 BasicLocation/app/src/ma...ple/basiclocationsample
Geofencing/app/src/main/...ation/sample/geofencing
MainActivity.java
MainActivity.java
208:234 (14%)
401:427 (8%)
view
14 x 2 CurrentLocationKotlin/ap...n/currentlocationkotlin
LocationUpdatesBackgroun...atesbackgroundkotlin/ui
MainActivity.kt
PermissionRequestFragment.kt
109:124 (14%)
193:208 (9%)
view
14 x 2 Geofencing/app/src/main/...ation/sample/geofencing
LocationAddress/app/src/.../sample/locationaddress
MainActivity.java
MainActivity.java
401:427 (8%)
387:413 (8%)
view
14 x 2 BasicLocation/app/src/ma...ple/basiclocationsample
LocationAddress/app/src/.../sample/locationaddress
MainActivity.java
MainActivity.java
208:234 (14%)
387:413 (8%)
view
13 x 2 LocationAddress/app/src/.../sample/locationaddress
LocationUpdatesForegroun...pdatesforegroundservice
MainActivity.java
MainActivity.java
361:384 (8%)
229:252 (9%)
view
13 x 2 Geofencing/app/src/main/...ation/sample/geofencing
LocationUpdatesForegroun...pdatesforegroundservice
MainActivity.java
MainActivity.java
375:398 (7%)
229:252 (9%)
view
13 x 2 LocationUpdates/app/src/.../sample/locationupdates
LocationUpdatesForegroun...pdatesforegroundservice
MainActivity.java
MainActivity.java
508:531 (5%)
229:252 (9%)
view
13 x 2 LocationAddress/app/src/.../sample/locationaddress
LocationUpdates/app/src/.../sample/locationupdates
MainActivity.java
MainActivity.java
326:348 (8%)
475:497 (5%)
view
11 x 2 AwarenessApisSampleKotli...arenessapissamplekotlin
LocationUpdatesBackgroun...atesbackgroundkotlin/ui
MainActivity.kt
PermissionRequestFragment.kt
117:128 (17%)
197:208 (7%)
view
11 x 2 LocationUpdatesBackgroun...atesbackgroundkotlin/ui
SleepSampleKotlin/app/sr...ample/sleepsamplekotlin
PermissionRequestFragment.kt
MainActivity.kt
197:208 (7%)
191:202 (9%)
view
11 x 2 BasicLocation/app/src/ma...ple/basiclocationsample
LocationUpdates/app/src/.../sample/locationupdates
MainActivity.java
MainActivity.java
222:234 (11%)
550:562 (4%)
view
11 x 2 Geofencing/app/src/main/...ation/sample/geofencing
LocationUpdates/app/src/.../sample/locationupdates
MainActivity.java
MainActivity.java
415:427 (6%)
550:562 (4%)
view
11 x 2 CurrentLocationKotlin/ap...n/currentlocationkotlin
SleepSampleKotlin/app/sr...ample/sleepsamplekotlin
MainActivity.kt
MainActivity.kt
113:124 (11%)
191:202 (9%)
view
11 x 2 LocationAddress/app/src/.../sample/locationaddress
LocationUpdates/app/src/.../sample/locationupdates
MainActivity.java
MainActivity.java
401:413 (7%)
550:562 (4%)
view
11 x 2 AwarenessApisSampleKotli...arenessapissamplekotlin
CurrentLocationKotlin/ap...n/currentlocationkotlin
MainActivity.kt
MainActivity.kt
117:128 (17%)
113:124 (11%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
21 x 2 LocationAddress/app/src/.../sample/locationaddress
Geofencing/app/src/main/...ation/sample/geofencing
MainActivity.java
MainActivity.java
340:370 
356:384 
view
7 x 2 LocationUpdates/app/src/.../sample/locationupdates
Geofencing/app/src/main/...ation/sample/geofencing
MainActivity.java
MainActivity.java
471:478 
307:314 
view
6 x 2 BasicLocation/app/src/ma...ple/basiclocationsample
LocationAddress/app/src/.../sample/locationaddress
MainActivity.java
MainActivity.java
142:148 
323:329 
view