element-x-ada/tools/detekt/detekt.yml
Jorge Martin Espinosa c87c0ea28c Refine sign in flow to match designs and iOS flow (#100)
* Fix dark theme

* First attempt at replicating iOS' UI & flows.

* Try to fix Maestro tests

* Add error dialogs and tests

* Remove unused modifiers

* Try to fix detekt issues

* Tidy up maestro login flow a bit

* Add `CompoundColorPalette` with some needed colors

* Fixes to designs

* Fix detekt issues

* More design fixes

* Some other minor design fixes

* Add changelog

* Minor tweaks.

* Remove legacy dark material theme as it's no longer needed.

* Move sliding sync 'learn more' url to constants object

* Remove unused focusManager

* Change how the displayed homeserver works

* Keep user input as homeserver if it's valid

* Remove `CompoundColorPalette`, try to fix issue when toggling dark mode.

* Add `@Stable` to the theme, adjust how it toggles in dark mode

* Remove unused strings

* Update screenshots

* Re-organize components in LoginRootScreen

* Bump min coverage to 55, max to 60

* Always replace the snapshots contents when running `recordPaparazzi`

* Fix dark theme preview of components using content colors

* Add `BackButton` component

* Handle errors with dialogs in a generic way

* Align our Dialog components with the designs, use them were needed

* Use a `MatrixHomeserverDetails` data class instead of just an URL.

* `AuthenticationService.getHomeserverDetails()` now returns a `StateFlow`.

Also, try to fix coverage issues in tests.
2023-03-06 09:30:16 +01:00

151 lines
3.5 KiB
YAML

# Default rules: https://github.com/detekt/detekt/blob/main/detekt-core/src/main/resources/default-detekt-config.yml
style:
MaxLineLength:
# Default is 120
maxLineLength: 160
MagicNumber:
active: false
ReturnCount:
active: false
UnnecessaryAbstractClass:
active: false
FunctionOnlyReturningConstant:
active: false
UnusedPrivateMember:
# TODO Enable it
active: false
ThrowsCount:
active: false
LoopWithTooManyJumpStatements:
active: false
SerialVersionUIDInSerializableClass:
active: false
ProtectedMemberInFinalClass:
active: false
UseCheckOrError:
active: false
empty-blocks:
EmptyFunctionBlock:
active: false
EmptySecondaryConstructor:
active: false
potential-bugs:
ImplicitDefaultLocale:
active: false
exceptions:
TooGenericExceptionCaught:
active: false
SwallowedException:
active: false
ThrowingExceptionsWithoutMessageOrCause:
active: false
TooGenericExceptionThrown:
active: false
InstanceOfCheckForException:
active: false
complexity:
TooManyFunctions:
active: false
LongMethod:
active: false
LongParameterList:
active: false
CyclomaticComplexMethod:
active: false
NestedBlockDepth:
active: false
ComplexCondition:
active: false
LargeClass:
active: false
naming:
VariableNaming:
# TODO Enable it
active: false
TopLevelPropertyNaming:
# TODO Enable it
active: false
FunctionNaming:
active: true
ignoreAnnotated: ['Composable']
performance:
SpreadOperator:
active: false
# Note: all rules for `comments` are disabled by default, but I put them here to be aware of their existence
comments:
AbsentOrWrongFileLicense:
active: true
licenseTemplateFile: 'license.template'
licenseTemplateIsRegex: true
CommentOverPrivateFunction:
active: false
CommentOverPrivateProperty:
active: false
DeprecatedBlockTag:
active: true
EndOfSentenceFormat:
active: true
OutdatedDocumentation:
active: true
allowParamOnConstructorProperties: true
UndocumentedPublicClass:
active: false
UndocumentedPublicFunction:
active: false
UndocumentedPublicProperty:
active: false
TwitterCompose:
CompositionLocalAllowlist:
active: true
# You can optionally define a list of CompositionLocals that are allowed here
allowedCompositionLocals: LocalColors, LocalCompoundColors
CompositionLocalNaming:
active: true
ContentEmitterReturningValues:
active: true
# You can optionally add your own composables here
# contentEmitters: MyComposable,MyOtherComposable
ModifierComposable:
active: true
ModifierMissing:
active: true
ModifierReused:
active: true
ModifierWithoutDefault:
active: true
MultipleEmitters:
active: true
# You can optionally add your own composables here
# contentEmitters: MyComposable,MyOtherComposable
MutableParams:
active: true
ComposableNaming:
active: true
# You can optionally disable the checks in this rule for regex matches against the composable name (e.g. molecule presenters)
# allowedComposableFunctionNames: .*Presenter,.*MoleculePresenter
ComposableParamOrder:
active: true
PreviewNaming:
active: true
PreviewPublic:
active: false
# You can optionally disable that only previews with @PreviewParameter are flagged
previewPublicOnlyIfParams: false
RememberMissing:
active: true
UnstableCollections:
active: true
ViewModelForwarding:
## TODO Set to true later
active: false
ViewModelInjection:
active: true