android / input-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:
    • 6,535 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,035 duplicated lines
  • 79 duplicates
system15% (1,035 lines)
Duplication per Extension
java18% (999 lines)
kt3% (36 lines)
Duplication per Component (primary)
AutofillFramework/Application/src/main/java/com/example/android/autofill19% (350 lines)
AutofillFramework/afservice/src/main/java/com/example/android/autofill10% (295 lines)
BasicMultitouch/Application/src/main/java/com/example/android/common98% (177 lines)
BasicGestureDetect/Application/src/main/java/com/example/android/common92% (177 lines)
AutofillFrameworkKotlin/Application/src/main/java/com/example/android/autofillframework3% (36 lines)
CommitContentSampleApp/app/src/main/java/com/example/android/commitcontent0% (0 lines)
BasicMultitouch/Application/src/main/java/com/example/android/basicmultitouch0% (0 lines)
BasicGestureDetect/Application/src/main/java/com/example/android/basicgesturedetect0% (0 lines)
CommitContentSampleIME/app/src/main/java/com/example/android/commitcontent0% (0 lines)
AutofillFramework/Application/src/main/res/raw0% (0 lines)

Duplication Between Components (50+ lines)

G BasicGestureDetect/Application/src/main/java/com/example/android/common BasicGestureDetect/Application/src/main/java/com/example/android/common BasicMultitouch/Application/src/main/java/com/example/android/common BasicMultitouch/Application/src/main/java/com/example/android/common BasicGestureDetect/Application/src/main/java/com/example/android/common--BasicMultitouch/Application/src/main/java/com/example/android/common 354 AutofillFramework/Application/src/main/java/com/example/android/autofill AutofillFramework/Application/src/main/java/com/example/android/autofill AutofillFramework/afservice/src/main/java/com/example/android/autofill AutofillFramework/afservice/src/main/java/com/example/android/autofill AutofillFramework/Application/src/main/java/com/example/android/autofill--AutofillFramework/afservice/src/main/java/com/example/android/autofill 148

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 79 duplicates...
Size#FoldersFilesLinesCode
60 x 2 BasicGestureDetect/Appli...e/android/common/logger
BasicMultitouch/Applicat...e/android/common/logger
LogView.java
LogView.java
25:141 (100%)
25:141 (100%)
view
46 x 2 BasicGestureDetect/Appli...e/android/common/logger
BasicMultitouch/Applicat...e/android/common/logger
Log.java
Log.java
26:234 (100%)
26:234 (100%)
view
42 x 2 BasicGestureDetect/Appli...e/android/common/logger
BasicMultitouch/Applicat...e/android/common/logger
LogFragment.java
LogFragment.java
49:107 (100%)
49:107 (100%)
view
29 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic.../autofill/app/edgecases
VirtualSignInActivity.java
VirtualCompatModeSignInActivity.java
48:86 (63%)
65:103 (61%)
view
25 x 2 AutofillFramework/Applic...le/android/autofill/app
AutofillFramework/afserv...d/autofill/service/util
Util.java
Util.java
64:95 (26%)
73:104 (14%)
view
21 x 2 AutofillFramework/Applic...le/android/autofill/app
AutofillFramework/afserv...d/autofill/service/util
Util.java
Util.java
108:133 (21%)
121:146 (12%)
view
18 x 2 AutofillFramework/Applic...le/android/autofill/app
AutofillFramework/afserv...d/autofill/service/util
Util.java
Util.java
38:60 (18%)
47:69 (10%)
view
17 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic.../autofill/app/edgecases
CreditCardCompoundViewActivity.java
CreditCardAntiPatternActivity.java
42:63 (53%)
40:61 (53%)
view
16 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic...utofill/app/commoncases
CreditCardCompoundViewActivity.java
CreditCardDatePickerActivity.java
42:60 (50%)
44:62 (42%)
view
16 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic.../autofill/app/edgecases
CreditCardDatePickerActivity.java
CreditCardAntiPatternActivity.java
44:62 (42%)
40:58 (50%)
view
16 x 2 BasicGestureDetect/Appli...e/android/common/logger
BasicMultitouch/Applicat...e/android/common/logger
LogWrapper.java
LogWrapper.java
24:72 (100%)
24:72 (100%)
view
15 x 2 AutofillFramework/afserv...autofill/service/simple
AutofillFramework/afserv...autofill/service/simple
DebugService.java
MultiStepsService.java
127:156 (9%)
138:157 (17%)
view
15 x 2 AutofillFramework/Applic...tofill/app/antipatterns
AutofillFramework/Applic...utofill/app/commoncases
BadViewStructureCreationSignInActivit...
StandardSignInActivity.java
53:70 (39%)
40:57 (38%)
view
15 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic.../autofill/app/edgecases
CreditCardCompoundViewActivity.java
CreditCardActivity.java
44:63 (46%)
46:65 (39%)
view
15 x 2 AutofillFramework/Applic.../autofill/app/edgecases
AutofillFramework/Applic.../autofill/app/edgecases
CreditCardActivity.java
CreditCardAntiPatternActivity.java
46:65 (39%)
42:61 (46%)
view
14 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic.../autofill/app/edgecases
RecyclerViewActivity.java
CreditCardActivity.java
80:98 (6%)
47:65 (36%)
view
14 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic.../autofill/app/edgecases
CreditCardDatePickerActivity.java
CreditCardActivity.java
46:62 (36%)
46:62 (36%)
view
14 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic.../autofill/app/edgecases
RecyclerViewActivity.java
CreditCardAntiPatternActivity.java
80:98 (6%)
43:61 (43%)
view
14 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic...utofill/app/commoncases
CreditCardCompoundViewActivity.java
RecyclerViewActivity.java
45:63 (43%)
80:98 (6%)
view
13 x 2 AutofillFramework/Applic...utofill/app/commoncases
AutofillFramework/Applic...utofill/app/commoncases
CreditCardDatePickerActivity.java
RecyclerViewActivity.java
47:62 (34%)
80:95 (5%)
view
Duplicated Units
The list of top 11 duplicated units.
See data for all 11 unit duplicates...
Size#FoldersFilesLinesCode
43 x 2 BasicMultitouch/Applicat...e/android/common/logger
BasicGestureDetect/Appli...e/android/common/logger
LogView.java
LogView.java
48:106 
48:106 
view
22 x 2 BasicMultitouch/Applicat...e/android/common/logger
BasicGestureDetect/Appli...e/android/common/logger
LogFragment.java
LogFragment.java
56:83 
56:83 
view
14 x 2 BasicMultitouch/Applicat...e/android/common/logger
BasicGestureDetect/Appli...e/android/common/logger
LogFragment.java
LogFragment.java
86:104 
86:104 
view
14 x 2 AutofillFramework/afserv...d/autofill/service/util
AutofillFramework/Applic...le/android/autofill/app
Util.java
Util.java
47:61 
38:52 
view
14 x 2 AutofillFramework/afserv...d/autofill/service/util
AutofillFramework/Applic...le/android/autofill/app
Util.java
Util.java
72:86 
63:77 
view
13 x 2 AutofillFramework/afserv...d/autofill/service/util
AutofillFramework/Applic...le/android/autofill/app
Util.java
Util.java
88:102 
79:93 
view
12 x 2 BasicMultitouch/Applicat...e/android/common/logger
BasicGestureDetect/Appli...e/android/common/logger
LogWrapper.java
LogWrapper.java
52:74 
52:74 
view
8 x 2 BasicMultitouch/Applicat...e/android/common/logger
BasicGestureDetect/Appli...e/android/common/logger
LogView.java
LogView.java
125:134 
125:134 
view
8 x 2 AutofillFramework/afserv...autofill/service/simple
AutofillFramework/afserv...autofill/service/simple
DebugService.java
MultiStepsService.java
142:150 
146:154 
view
7 x 2 AutofillFramework/afserv...ndroid/autofill/service
AutofillFramework/afserv...ndroid/autofill/service
ManualActivity.java
AuthActivity.java
148:155 
132:139 
view
7 x 2 AutofillFramework/afserv...d/autofill/service/util
AutofillFramework/Applic...le/android/autofill/app
Util.java
Util.java
63:70 
54:61 
view