diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index f1b9d923..d2e5b427 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -129,6 +129,9 @@ android {
detekt {
baseline = file("detekt-baseline.xml")
+ config.setFrom("$rootDir/detekt.yml")
+ buildUponDefaultConfig = true
+ allRules = false
}
dependencies {
@@ -140,4 +143,5 @@ dependencies {
implementation(libs.androidx.constraintlayout)
implementation(libs.tandroidlame)
implementation(libs.autofittextview)
+ detektPlugins(libs.compose.detekt)
}
diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml
index 7caad9f0..f4dda697 100644
--- a/app/detekt-baseline.xml
+++ b/app/detekt-baseline.xml
@@ -8,18 +8,11 @@
EmptyFunctionBlock:TrashAdapter.kt$TrashAdapter${}
EmptyFunctionBlock:TrashFragment.kt$TrashFragment${}
EmptyFunctionBlock:WidgetRecordDisplayConfigureActivity.kt$WidgetRecordDisplayConfigureActivity.<no name provided>${}
- MagicNumber:Activity.kt$1000
- MagicNumber:Activity.kt$1000L
MagicNumber:Context.kt$60
MagicNumber:Mp3Recorder.kt$Mp3Recorder$1.25
- MagicNumber:Mp3Recorder.kt$Mp3Recorder$1000
MagicNumber:Mp3Recorder.kt$Mp3Recorder$7200
MagicNumber:Mp3Recorder.kt$Mp3Recorder$8
- MagicNumber:PlayerFragment.kt$PlayerFragment$1000
- MagicNumber:PlayerFragment.kt$PlayerFragment.<no name provided>$1000
MagicNumber:RecorderFragment.kt$RecorderFragment$500
- MagicNumber:RecorderService.kt$RecorderService$1000
- MagicNumber:SettingsActivity.kt$SettingsActivity$1000
MagicNumber:ViewPagerAdapter.kt$ViewPagerAdapter$3
MagicNumber:WidgetRecordDisplayConfigureActivity.kt$WidgetRecordDisplayConfigureActivity$100
MaxLineLength:PlayerFragment.kt$PlayerFragment$if
diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml
index 4d1a33f3..f55546e3 100644
--- a/app/lint-baseline.xml
+++ b/app/lint-baseline.xml
@@ -7,8 +7,8 @@
errorLine1="app-build-targetSDK = "34""
errorLine2=" ~~~~">
@@ -29,7 +29,7 @@
errorLine1="distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
@@ -40,19 +40,30 @@
errorLine1="gradlePlugins-agp = "8.10.1""
errorLine2=" ~~~~~~~~">
+
+
+
+
@@ -60,14 +71,14 @@
id="Aligned16KB"
message="The native library `x86_64/libandroidlame.so` (from `com.github.naman14:TAndroidLame:1.1`) is not 16 KB aligned">
+ file="$GRADLE_USER_HOME/caches/8.11.1/transforms/865938d5cceb8e098c463c7b38a51bdf/transformed/jetified-TAndroidLame-1.1/jni/x86_64/libandroidlame.so"/>
+ file="$GRADLE_USER_HOME/caches/8.11.1/transforms/865938d5cceb8e098c463c7b38a51bdf/transformed/jetified-TAndroidLame-1.1/jni/x86_64/libandroidlame.so"/>
diff --git a/detekt.yml b/detekt.yml
new file mode 100644
index 00000000..6472c5a3
--- /dev/null
+++ b/detekt.yml
@@ -0,0 +1,58 @@
+build:
+ maxIssues: 0
+ weights:
+ complexity: 2
+ LongParameterList: 2
+ style: 1
+
+processors:
+ active: true
+ exclude:
+ - "FunctionCountProcessor"
+ - "PropertyCountProcessor"
+
+config:
+ validation: true
+
+complexity:
+ LongParameterList:
+ active: true
+ functionThreshold: 10
+ constructorThreshold: 8
+ ignoreDefaultParameters: true
+ ignoreAnnotated:
+ - "Composable"
+ LongMethod:
+ active: true
+ threshold: 120
+ ignoreAnnotated:
+ - "Composable"
+ - "Preview"
+
+style:
+ MagicNumber:
+ active: true
+ ignoreAnnotated: ["Composable"]
+ ignoreEnums: true
+ ignoreNumbers: ["-1", "0", "1", "2", "42", "1000"]
+ MaxLineLength:
+ active: true
+ maxLineLength: 120
+ excludePackageStatements: true
+ excludeImportStatements: true
+
+naming:
+ FunctionNaming:
+ active: true
+ ignoreAnnotated: ["Composable", "Preview"]
+ functionPattern: "[a-z][A-Za-z0-9]*"
+
+Compose: # io.nlopez.compose.rules
+ ComposableParametersOrdering:
+ active: true
+ ModifierDefaultValue:
+ active: true
+ MissingModifierDefaultValue:
+ active: true
+ PublicComposablePreview:
+ active: true
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 927d322a..fa0bfe3a 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -5,6 +5,7 @@ kotlin = "2.1.21"
ksp = "2.1.21-2.0.2"
#Detekt
detekt = "1.23.8"
+detektCompose = "0.4.22"
#AndroidX
androidx-constraintlayout = "2.2.1"
androidx-documentfile = "1.1.0"
@@ -33,6 +34,8 @@ app-build-kotlinJVMTarget = "17"
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
androidx-documentfile = { module = "androidx.documentfile:documentfile", version.ref = "androidx-documentfile" }
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "androidx-swiperefreshlayout" }
+#Compose
+compose-detekt = { module = "io.nlopez.compose.rules:detekt", version.ref = "detektCompose" }
#Fossify
fossify-commons = { module = "org.fossify:commons", version.ref = "commons" }
#EventBus
diff --git a/lint.xml b/lint.xml
index 05685cd8..4b4a7825 100644
--- a/lint.xml
+++ b/lint.xml
@@ -31,4 +31,5 @@
+