2 replace all actions have been performed: - "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial" - "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
128 lines
3.6 KiB
Plaintext
Executable File
128 lines
3.6 KiB
Plaintext
Executable File
# Copyright 2023-2024 New Vector Ltd.
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
# Please see LICENSE files in the repository root for full details.
|
|
|
|
# This file list String which are not allowed in source code.
|
|
# Use Perl regex to write forbidden strings
|
|
# Note: line cannot start with a space. Use \s instead.
|
|
# It is possible to specify an authorized number of occurrence with === suffix. Default is 0
|
|
# Example:
|
|
# AuthorizedStringThreeTimes===3
|
|
|
|
# Extension:kt
|
|
|
|
### No import static: use full class name
|
|
import static
|
|
|
|
### Rubbish from merge. Please delete those lines (sometimes in comment)
|
|
<<<<<<<
|
|
>>>>>>>
|
|
|
|
### carry return before "}". Please remove empty lines.
|
|
\n\s*\n\s*\}
|
|
|
|
### typo detected.
|
|
formated
|
|
abtract
|
|
Succes[^s]
|
|
succes[^s]
|
|
|
|
### Use int instead of Integer
|
|
protected Integer
|
|
|
|
### Use the interface declaration. Example: use type "Map" instead of type "HashMap" to declare variable or parameter. For Kotlin, use mapOf, setOf, ...
|
|
(private|public|protected| ) (static )?(final )?(HashMap|HashSet|ArrayList)<
|
|
|
|
### Use int instead of short
|
|
Short\.parseShort
|
|
\(short\)
|
|
private short
|
|
final short
|
|
|
|
### Line length is limited to 160 chars. Please split long lines
|
|
#[^─]{161}
|
|
|
|
### "DO NOT COMMIT" has been committed
|
|
DO NOT COMMIT
|
|
|
|
### invalid formatting
|
|
\s{8}/\*\n \*
|
|
# Now checked by ktlint
|
|
# [^\w]if\(
|
|
# while\(
|
|
# for\(
|
|
|
|
# Add space after //
|
|
# DISABLED To re-enable when code will be formatted globally
|
|
#^\s*//[^\s]
|
|
|
|
### invalid formatting (too many space char)
|
|
^ /\*
|
|
|
|
### unnecessary parenthesis around numbers, example: " (0)"
|
|
\(\d+\)[^"]
|
|
|
|
### import the package, do not use long class name with package
|
|
android\.os\.Build\.
|
|
|
|
### Tab char is forbidden. Use only spaces
|
|
\t
|
|
|
|
# Empty lines and trailing space
|
|
# DISABLED To re-enable when code will be formatted globally
|
|
#[ ]$
|
|
|
|
### Deprecated, use retrofit2.HttpException
|
|
import retrofit2\.adapter\.rxjava\.HttpException
|
|
|
|
### This is generally not necessary, no need to reset the padding if there is no drawable
|
|
setCompoundDrawablePadding\(0\)
|
|
|
|
# Change thread with Rx
|
|
# DISABLED
|
|
#runOnUiThread
|
|
|
|
### Bad formatting of chain (missing new line)
|
|
\w\.flatMap\(
|
|
|
|
### In Kotlin, Void has to be null safe, i.e. use 'Void?' instead of 'Void'
|
|
\: Void\)
|
|
|
|
### Kotlin conversion tools introduce this, but is can be replace by trim()
|
|
trim \{ it \<\= \' \' \}
|
|
|
|
### Put the operator at the beginning of next line
|
|
==$
|
|
|
|
### Use JsonUtils.getBasicGson()
|
|
new Gson\(\)
|
|
|
|
### Use TextUtils.formatFileSize
|
|
Formatter\.formatFileSize===1
|
|
|
|
### Use TextUtils.formatFileSize with short format param to true
|
|
Formatter\.formatShortFileSize===1
|
|
|
|
### Use `Context#getSystemService` extension function provided by `core-ktx`
|
|
getSystemService\(Context
|
|
|
|
### Use DefaultSharedPreferences.getInstance() instead for better performance
|
|
PreferenceManager\.getDefaultSharedPreferences==2
|
|
|
|
### Use the Clock interface, or use `measureTimeMillis`
|
|
System\.currentTimeMillis\(\)===1
|
|
|
|
### Remove extra space between the name and the description
|
|
\* @\w+ \w+ +
|
|
|
|
### Suspicious String template. Please check that the string template will behave as expected, i.e. the class field and not the whole object will be used. For instance `Timber.d("$event.type")` is not correct, you should write `Timber.d("${event.type}")`. In the former the whole event content will be logged, since it's a data class.
|
|
Timber.*\$[a-zA-Z_]\w*\??\.[a-zA-Z_]
|
|
|
|
### Use `import io.element.android.libraries.ui.strings.CommonStrings` then `CommonStrings.<stringKey>` instead
|
|
import io\.element\.android\.libraries\.ui\.strings\.R
|
|
|
|
# Accessibility
|
|
### Use string resource for `contentDescription`, or null instead of empty string
|
|
contentDescription = "
|