* 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.
151 lines
3.5 KiB
YAML
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
|