firebase / quickstart-android
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
  • 8% duplication:
    • 7,559 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 680 duplicated lines
  • 52 duplicates
system8% (680 lines)
Duplication per Extension
java12% (473 lines)
kt5% (195 lines)
pro63% (12 lines)
Duplication per Component (primary)
auth18% (550 lines)
firestore3% (53 lines)
storage6% (46 lines)
database1% (13 lines)
perf2% (6 lines)
functions7% (6 lines)
crash100% (6 lines)
scripts0% (0 lines)
messaging0% (0 lines)
internal0% (0 lines)
analytics0% (0 lines)
inappmessaging0% (0 lines)
dynamiclinks0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 52 duplicates...
Size#FoldersFilesLinesCode
36 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
EmailPasswordFragment.java
MultiFactorFragment.java
175:223 (20%)
125:173 (25%)
view
16 x 2 auth/app/src/main/java/c.../quickstart/auth/kotlin
auth/app/src/main/java/c.../quickstart/auth/kotlin
AnonymousAuthFragment.kt
EmailPasswordFragment.kt
120:142 (16%)
169:191 (11%)
view
16 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
AnonymousAuthFragment.java
EmailPasswordFragment.java
160:182 (14%)
227:249 (9%)
view
12 x 2 storage/app/src/main/jav...rt/firebasestorage/java
storage/app/src/main/jav...rt/firebasestorage/java
MyDownloadService.java
MyUploadService.java
54:72 (15%)
41:61 (13%)
view
11 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
EmailPasswordFragment.java
MultiFactorFragment.java
77:89 (6%)
77:89 (7%)
view
11 x 2 auth/app/src/main/java/c.../quickstart/auth/kotlin
auth/app/src/main/java/c.../quickstart/auth/kotlin
EmailPasswordFragment.kt
MultiFactorFragment.kt
127:144 (7%)
69:83 (10%)
view
11 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
BaseActivity.java
BaseFragment.java
13:32 (57%)
13:32 (55%)
view
10 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
FacebookLoginFragment.java
GoogleSignInFragment.java
129:140 (12%)
133:144 (9%)
view
10 x 2 auth/app/src/main/java/c.../quickstart/auth/kotlin
auth/app/src/main/java/c.../quickstart/auth/kotlin
EmailPasswordFragment.kt
MultiFactorFragment.kt
146:159 (7%)
85:98 (9%)
view
9 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c.../quickstart/auth/kotlin
ChooserFragment.java
ChooserFragment.kt
53:61 (11%)
91:99 (12%)
view
9 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
MultiFactorSignInFragment.java
MultiFactorUnenrollFragment.java
82:90 (8%)
55:63 (16%)
view
9 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c.../quickstart/auth/kotlin
ChooserFragment.java
ChooserFragment.kt
79:87 (11%)
115:123 (12%)
view
9 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c.../quickstart/auth/kotlin
ChooserFragment.java
ChooserFragment.kt
66:74 (11%)
103:111 (12%)
view
8 x 2 storage/app/src/main/jav.../firebasestorage/kotlin
storage/app/src/main/jav.../firebasestorage/kotlin
MyDownloadService.kt
MyUploadService.kt
18:32 (11%)
23:39 (10%)
view
8 x 2 auth/app/src/main/java/c.../quickstart/auth/kotlin
auth/app/src/main/java/c.../quickstart/auth/kotlin
BaseActivity.kt
BaseFragment.kt
11:25 (53%)
11:25 (53%)
view
8 x 2 auth/app/src/main/java/c.../quickstart/auth/kotlin
auth/app/src/main/java/c.../quickstart/auth/kotlin
FacebookLoginFragment.kt
GoogleSignInFragment.kt
92:101 (11%)
91:100 (9%)
view
8 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
FacebookLoginFragment.java
GoogleSignInFragment.java
108:118 (9%)
102:112 (7%)
view
8 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
MultiFactorEnrollFragment.java
PhoneAuthFragment.java
42:51 (8%)
53:62 (3%)
view
8 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
MultiFactorSignInFragment.java
MultiFactorUnenrollFragment.java
61:69 (7%)
41:49 (15%)
view
8 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
MultiFactorSignInFragment.java
MultiFactorUnenrollFragment.java
47:56 (7%)
28:37 (15%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
20 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
EmailPasswordFragment.java
MultiFactorFragment.java
180:205 
130:155 
view
17 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
EmailPasswordFragment.java
MultiFactorFragment.java
207:224 
157:174 
view
17 x 2 auth/app/src/main/java/c...se/quickstart/auth/java
auth/app/src/main/java/c...se/quickstart/auth/java
EmailPasswordFragment.java
AnonymousAuthFragment.java
226:246 
159:179 
view
6 x 2 firestore/app/src/main/j...example/fireeats/kotlin
firestore/app/src/main/j...example/fireeats/kotlin
FilterDialogFragment.kt
RatingDialogFragment.kt
101:108 
25:32 
view