Skip to content

Commit 8df729c

Browse files
committed
Fixing CI (adding detekt issues to baseline)
1 parent 02d0d8b commit 8df729c

File tree

26 files changed

+425
-2
lines changed

26 files changed

+425
-2
lines changed

.github/workflows/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ jobs:
101101
./gradlew leakcanary:leakcanary-android-core:connectedCheck leakcanary:leakcanary-android:connectedCheck leakcanary:leakcanary-android-instrumentation:connectedCheck --no-build-cache --no-daemon --stacktrace
102102
- name: Upload results
103103
if: ${{ always() }}
104-
uses: actions/upload-artifact@v3
104+
uses: actions/upload-artifact@v4
105105
with:
106106
name: ${{ matrix.api-level }}-${{ matrix.arch }}-instrumentation-test-results
107107
path: |

build.gradle.kts

+4
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ subprojects {
8484
}
8585
}
8686

87+
dependencies {
88+
"detektPlugins"(rootProject.libs.detekt.formatting)
89+
}
90+
8791
extensions.configure<DetektExtension> {
8892
config = rootProject.files("config/detekt-config.yml")
8993
parallel = true

gradle/libs.versions.toml

+4-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ coroutines = "1.7.3"
2121
androidXTest = "1.1.0"
2222
androidXJunit = "1.1.3"
2323
workManager = "2.7.0"
24+
detekt = "1.23.8"
2425
androidMinSdk = "14"
2526
androidCompileSdk = "34"
2627

@@ -30,7 +31,7 @@ gradlePlugin-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", ve
3031
gradlePlugin-dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version = "1.8.10" }
3132
gradlePlugin-binaryCompatibility = { module = "org.jetbrains.kotlinx:binary-compatibility-validator", version = "0.13.1" }
3233
gradlePlugin-mavenPublish = { module = "com.vanniktech:gradle-maven-publish-plugin", version = "0.25.2" }
33-
gradlePlugin-detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version = "1.6.0" }
34+
gradlePlugin-detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
3435
gradlePlugin-keeper = { module = "com.slack.keeper:keeper", version = "0.7.0" }
3536
gradlePlugin-sqldelight = { module = "app.cash.sqldelight:gradle-plugin", version = "2.0.0-alpha05" }
3637

@@ -39,6 +40,8 @@ coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", ve
3940
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
4041
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
4142

43+
detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
44+
4245
# We don't need the latest version of AndroidX (there are no bugs that impact what LeakCanary
4346
# relies on), we're sticking a bit older because most apps will be using a more recent version
4447
# and they'll automatically resolve to higher version without having to necessarily resort to a
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>ChainWrapping:HeapDumpRenderer.kt$HeapDumpRenderer$&amp;&amp;</ID>
6+
<ID>ChainWrapping:LeakCanaryTextView.kt$LeakCanaryTextView$+</ID>
7+
<ID>ChainWrapping:SquigglySpanRenderer.kt$SquigglySpanRenderer.Companion$||</ID>
8+
<ID>FinalNewline:HeapAnalysisTable.kt$leakcanary.internal.activity.db.HeapAnalysisTable.kt</ID>
9+
<ID>FinalNewline:LeakTraceTable.kt$leakcanary.internal.activity.db.LeakTraceTable.kt</ID>
10+
<ID>FinalNewline:LeakTraceWrapper.kt$leakcanary.internal.activity.screen.LeakTraceWrapper.kt</ID>
11+
<ID>FinalNewline:LeakTraceWrapperTest.kt$leakcanary.internal.activity.screen.LeakTraceWrapperTest.kt</ID>
12+
<ID>FinalNewline:LeaksDbHelper.kt$leakcanary.internal.activity.db.LeaksDbHelper.kt</ID>
13+
<ID>FinalNewline:NotificationReceiver.kt$leakcanary.internal.NotificationReceiver.kt</ID>
14+
<ID>FinalNewline:NotificationType.kt$leakcanary.internal.NotificationType.kt</ID>
15+
<ID>FinalNewline:Screen.kt$leakcanary.internal.navigation.Screen.kt</ID>
16+
<ID>FinalNewline:Serializables.kt$leakcanary.internal.Serializables.kt</ID>
17+
<ID>FinalNewline:SimpleListAdapter.kt$leakcanary.internal.activity.ui.SimpleListAdapter.kt</ID>
18+
<ID>FinalNewline:TimeFormatter.kt$leakcanary.internal.activity.ui.TimeFormatter.kt</ID>
19+
<ID>FinalNewline:UiUtils.kt$leakcanary.internal.activity.ui.UiUtils.kt</ID>
20+
<ID>MaximumLineLength:HeapDumpTrigger.kt$HeapDumpTrigger$ </ID>
21+
<ID>MaximumLineLength:LeakActivity.kt$LeakActivity$ </ID>
22+
<ID>MaximumLineLength:LeakScreen.kt$LeakScreen$ </ID>
23+
<ID>MaximumLineLength:LogcatEventListener.kt$LogcatEventListener$ </ID>
24+
<ID>MaximumLineLength:WorkManagerHeapAnalyzer.kt$WorkManagerHeapAnalyzer$ </ID>
25+
<ID>MultiLineIfElse:AndroidDebugHeapAnalyzer.kt$AndroidDebugHeapAnalyzer$result</ID>
26+
<ID>MultiLineIfElse:DisplayLeakAdapter.kt$DisplayLeakAdapter$"${ extra( className.substring( 0, packageEnd ) ) }.$styledClassName"</ID>
27+
<ID>MultiLineIfElse:DisplayLeakAdapter.kt$DisplayLeakAdapter$END</ID>
28+
<ID>MultiLineIfElse:DisplayLeakAdapter.kt$DisplayLeakAdapter$START</ID>
29+
<ID>MultiLineIfElse:DisplayLeakAdapter.kt$DisplayLeakAdapter$leakTrace.leakingObject</ID>
30+
<ID>MultiLineIfElse:DisplayLeakAdapter.kt$DisplayLeakAdapter$leakTrace.referencePath[elementIndex( position + 1 )].originObject</ID>
31+
<ID>MultiLineIfElse:DisplayLeakAdapter.kt$DisplayLeakAdapter$styledClassName</ID>
32+
<ID>MultiLineIfElse:HeapAnalysisFailureScreen.kt$HeapAnalysisFailureScreen$""</ID>
33+
<ID>MultiLineIfElse:HeapDumpControl.kt$HeapDumpControl$Yup</ID>
34+
<ID>MultiLineIfElse:LeakScreen.kt$LeakScreen$""</ID>
35+
<ID>MultiLineIfElse:LeakScreen.kt$LeakScreen$"&lt;br>&lt;br>" + "A &lt;font color='#FFCC32'>Library Leak&lt;/font> is a leak caused by a known bug in 3rd party code that you do not have control over. " + "(&lt;a href=\"https://square.github.io/leakcanary/fundamentals-how-leakcanary-works/#4-categorizing-leaks\">Learn More&lt;/a>)&lt;br>&lt;br>" + "&lt;b>Leak pattern&lt;/b>: ${selectedLeak.pattern}&lt;br>&lt;br>" + "&lt;b>Description&lt;/b>: ${parseLinks(selectedLeak.description)}"</ID>
36+
<ID>MultiLineIfElse:LeakTable.kt$LeakTable$cursor.getLong(0)</ID>
37+
<ID>MultiLineIfElse:LeakTable.kt$LeakTable$throw IllegalStateException( "No id found for leak with signature '${leak.signature}'" )</ID>
38+
<ID>MultiLineIfElse:LeakTraceWrapper.kt$LeakTraceWrapper$null</ID>
39+
<ID>MultiLineIfElse:Notifications.kt$Notifications$Notification.Builder(context)</ID>
40+
<ID>NoBlankLineBeforeRbrace:HeapDumpsScreen.kt$HeapDumpsScreen$ </ID>
41+
<ID>NoBlankLineBeforeRbrace:LeakCanaryConfigTest.kt$LeakCanaryConfigTest$ </ID>
42+
<ID>NoConsecutiveBlankLines:DisplayLeakConnectorView.kt$DisplayLeakConnectorView$ </ID>
43+
<ID>NoConsecutiveBlankLines:InternalLeakCanary.kt$InternalLeakCanary$ </ID>
44+
<ID>NoConsecutiveBlankLines:LeakCanary.kt$LeakCanary.Config.Builder$ </ID>
45+
<ID>NoConsecutiveBlankLines:LeakCanaryAndroidInternalUtils.kt$ </ID>
46+
<ID>NoConsecutiveBlankLines:RenderHeapDumpScreen.kt$ </ID>
47+
<ID>NoMultipleSpaces:LogcatEventListener.kt$LogcatEventListener$ </ID>
48+
<ID>NoMultipleSpaces:NotificationEventListener.kt$NotificationEventListener$ </ID>
49+
<ID>NoSemicolons:NotificationType.kt$NotificationType.LEAKCANARY_MAX$;</ID>
50+
<ID>SpacingAroundComma:NotificationEventListener.kt$NotificationEventListener$,</ID>
51+
<ID>SpacingAroundCurly:TvEventListener.kt$TvEventListener${</ID>
52+
<ID>SpacingAroundKeyword:InternalLeakCanary.kt$InternalLeakCanary$for</ID>
53+
<ID>SpacingAroundKeyword:LogcatEventListener.kt$LogcatEventListener$when</ID>
54+
<ID>StringTemplate:DisplayLeakAdapter.kt$DisplayLeakAdapter$${leakingStatusReason}</ID>
55+
<ID>StringTemplate:LeakScreen.kt$LeakScreen$${word}</ID>
56+
</CurrentIssues>
57+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>MaximumLineLength:NoLeakAssertionFailedError.kt$NoLeakAssertionFailedError.Companion$ </ID>
6+
<ID>MultiLineIfElse:InstrumentationHeapAnalyzer.kt$InstrumentationHeapAnalyzer$result</ID>
7+
<ID>NoConsecutiveBlankLines:DetectLeaksAfterTestSuccess.kt$ </ID>
8+
<ID>NoConsecutiveBlankLines:LeakAssertions.kt$ </ID>
9+
<ID>NoConsecutiveBlankLines:SkipLeakDetection.kt$ </ID>
10+
<ID>StringTemplate:AndroidDetectLeaksAssert.kt$AndroidDetectLeaksAssert$${classSimpleName}</ID>
11+
<ID>StringTemplate:AndroidDetectLeaksAssert.kt$AndroidDetectLeaksAssert$${methodName}</ID>
12+
</CurrentIssues>
13+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>CommentSpacing:GoodAndroidVersionInterceptor.kt$GoodAndroidVersionInterceptor$// findObjectById() sometimes failing. See #1759</ID>
6+
<ID>FinalNewline:BackgroundTrigger.kt$leakcanary.BackgroundTrigger.kt</ID>
7+
<ID>FinalNewline:ConditionalInterceptor.kt$leakcanary.ConditionalInterceptor.kt</ID>
8+
<ID>FinalNewline:Friendly.kt$leakcanary.internal.friendly.Friendly.kt</ID>
9+
<ID>FinalNewline:GoodAndroidVersionInterceptor.kt$leakcanary.GoodAndroidVersionInterceptor.kt</ID>
10+
<ID>FinalNewline:HeapAnalysisInterceptor.kt$leakcanary.HeapAnalysisInterceptor.kt</ID>
11+
<ID>FinalNewline:HeapAnalysisJob.kt$leakcanary.HeapAnalysisJob.kt</ID>
12+
<ID>FinalNewline:MinimumElapsedSinceStartInterceptor.kt$leakcanary.MinimumElapsedSinceStartInterceptor.kt</ID>
13+
<ID>FinalNewline:MinimumMemoryInterceptor.kt$leakcanary.MinimumMemoryInterceptor.kt</ID>
14+
<ID>FinalNewline:OncePerPeriodInterceptor.kt$leakcanary.OncePerPeriodInterceptor.kt</ID>
15+
<ID>FinalNewline:SaveResourceIdsInterceptor.kt$leakcanary.SaveResourceIdsInterceptor.kt</ID>
16+
<ID>MaximumLineLength:OncePerPeriodInterceptor.kt$OncePerPeriodInterceptor$ </ID>
17+
<ID>MultiLineIfElse:RealHeapAnalysisJob.kt$RealHeapAnalysisJob$null</ID>
18+
</CurrentIssues>
19+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>FinalNewline:LogcatSharkLog.kt$leakcanary.LogcatSharkLog.kt</ID>
6+
<ID>FinalNewline:Objects.kt$leakcanary.internal.Objects.kt</ID>
7+
</CurrentIssues>
8+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>FinalNewline:Color.kt$org.leakcanary.ui.theme.Color.kt</ID>
6+
<ID>FinalNewline:Theme.kt$org.leakcanary.ui.theme.Theme.kt</ID>
7+
<ID>FinalNewline:Type.kt$org.leakcanary.ui.theme.Type.kt</ID>
8+
<ID>MaximumLineLength:LeakScreen.kt$LeakViewModel$ </ID>
9+
<ID>MultiLineIfElse:LeakTraceWrapper.kt$LeakTraceWrapper$null</ID>
10+
<ID>NoBlankLineBeforeRbrace:ClientAppAnalysesScreen.kt$ </ID>
11+
<ID>NoConsecutiveBlankLines:TreeMapScreen.kt$ </ID>
12+
<ID>ParameterListWrapping:DatabaseModule.kt$DatabaseModule$( app: Application, @WriteAheadLoggingEnabled wolEnabled: Boolean )</ID>
13+
<ID>SpacingAroundKeyword:HeapRepository.kt$HeapRepository$if</ID>
14+
<ID>StringTemplate:LeakScreen.kt$${leakingStatusReason}</ID>
15+
</CurrentIssues>
16+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>MaximumLineLength:DumpingRepeatingScenarioObjectGrowthDetector.kt$DumpingRepeatingScenarioObjectGrowthDetector$ </ID>
6+
<ID>MaximumLineLength:ObjectGrowthWarmupHeapDumperTest.kt$ObjectGrowthWarmupHeapDumperTest$ </ID>
7+
<ID>NoConsecutiveBlankLines:DatetimeFormattedHeapDumpFileProvider.kt$ </ID>
8+
<ID>NoConsecutiveBlankLines:DumpingRepeatingScenarioObjectGrowthDetector.kt$ </ID>
9+
<ID>NoConsecutiveBlankLines:DumpingRepeatingScenarioObjectGrowthDetectorTest.kt$DumpingRepeatingScenarioObjectGrowthDetectorTest$ </ID>
10+
<ID>NoConsecutiveBlankLines:ObjectGrowthWarmupHeapDumperTest.kt$ObjectGrowthWarmupHeapDumperTest$ </ID>
11+
<ID>NoUnusedImports:HeapDumpFileProvider.kt$leakcanary.HeapDumpFileProvider.kt</ID>
12+
</CurrentIssues>
13+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>NoUnusedImports:LeakCanaryLeakDeobfuscationPlugin.kt$com.squareup.leakcanary.deobfuscation.LeakCanaryLeakDeobfuscationPlugin.kt</ID>
6+
</CurrentIssues>
7+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>NoConsecutiveBlankLines:HotSpotHeapDumper.kt$ </ID>
6+
</CurrentIssues>
7+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>StringTemplate:TestHeapDumpFileProvider.kt$TestHeapDumpFileProvider$${classSimpleName}</ID>
6+
<ID>StringTemplate:TestHeapDumpFileProvider.kt$TestHeapDumpFileProvider$${escapedMethodName}</ID>
7+
</CurrentIssues>
8+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>FinalNewline:Applications.kt$leakcanary.internal.Applications.kt</ID>
6+
<ID>FinalNewline:InstallableWatcher.kt$leakcanary.InstallableWatcher.kt</ID>
7+
<ID>FinalNewline:LeakCanaryDelegate.kt$leakcanary.internal.LeakCanaryDelegate.kt</ID>
8+
</CurrentIssues>
9+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>ParameterListWrapping:MainProcessAppWatcherInstaller.kt$MainProcessAppWatcherInstaller$( uri: Uri, values: ContentValues?, selection: String?, selectionArgs: Array&lt;out String>? )</ID>
6+
</CurrentIssues>
7+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>MultiLineIfElse:DeletableObjectReporter.kt$object : TrackedObjectReachability { override val isStronglyReachable: Boolean get() = false override val isRetained: Boolean get() = false }</ID>
6+
</CurrentIssues>
7+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>SafeCast:AndroidLeakFixes.kt$AndroidLeakFixes.Companion$if (it is HandlerThread) it else null</ID>
6+
</CurrentIssues>
7+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>ParameterListWrapping:PlumberInstaller.kt$PlumberInstaller$( uri: Uri, values: ContentValues?, selection: String?, selectionArgs: Array&lt;out String>? )</ID>
6+
</CurrentIssues>
7+
</SmellBaseline>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>FinalNewline:LeakingService.kt$com.example.leakcanary.LeakingService.kt</ID>
6+
<ID>FinalNewline:LeakingSingleton.kt$com.example.leakcanary.LeakingSingleton.kt</ID>
7+
<ID>FinalNewline:LeakingThread.kt$com.example.leakcanary.LeakingThread.kt</ID>
8+
</CurrentIssues>
9+
</SmellBaseline>
+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<SmellBaseline>
3+
<ManuallySuppressedIssues/>
4+
<CurrentIssues>
5+
<ID>ChainWrapping:AndroidObjectInspectorsTest.kt$AndroidObjectInspectorsTest$&amp;&amp;</ID>
6+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.ACCESSIBILITY_NODE_INFO__MORIGINALTEXT$+</ID>
7+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.ACTIVITY_CHOOSE_MODEL$+</ID>
8+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.ACTIVITY_MANAGER_MCONTEXT$+</ID>
9+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.APP_WIDGET_HOST_CALLBACKS$+</ID>
10+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.AUDIO_MANAGER$+</ID>
11+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.AUDIO_MANAGER__MCONTEXT_STATIC$+</ID>
12+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.BACKDROP_FRAME_RENDERER__MDECORVIEW$+</ID>
13+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.BLOCKING_QUEUE$+</ID>
14+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.CLIPBOARD_UI_MANAGER__SINSTANCE$+</ID>
15+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.CONNECTIVITY_MANAGER__SINSTANCE$+</ID>
16+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.DEVICE_POLICY_MANAGER__SETTINGS_OBSERVER$+</ID>
17+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.EDITTEXT_BLINK_MESSAGEQUEUE$+</ID>
18+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.INPUT_METHOD_MANAGER_IS_TERRIBLE$+</ID>
19+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.INSTRUMENTATION_RECOMMEND_ACTIVITY$+</ID>
20+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.LAYOUT_TRANSITION$+</ID>
21+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.MAPPER_CLIENT$+</ID>
22+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.MEDIA_SCANNER_CONNECTION$+</ID>
23+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.MEDIA_SESSION_LEGACY_HELPER__SINSTANCE$+</ID>
24+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.PERSONA_MANAGER$+</ID>
25+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.RESOURCES__MCONTEXT$+</ID>
26+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.SPAN_CONTROLLER$+</ID>
27+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.SPEECH_RECOGNIZER$+</ID>
28+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.SPELL_CHECKER$+</ID>
29+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.SPELL_CHECKER_SESSION$+</ID>
30+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.SYSTEM_SENSOR_MANAGER__MAPPCONTEXTIMPL$+</ID>
31+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.TEXT_LINE__SCACHED$+</ID>
32+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.USER_MANAGER__SINSTANCE$+</ID>
33+
<ID>ChainWrapping:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.VIEW_CONFIGURATION__MCONTEXT$+</ID>
34+
<ID>ChainWrapping:AndroidServices.kt$AndroidServices$&amp;&amp;</ID>
35+
<ID>ChainWrapping:LegacyHprofTest.kt$LegacyHprofTest$&amp;&amp;</ID>
36+
<ID>Filename:AndroidReferenceMatcher_XIAMI__RESOURCES_IMPL_Test.kt$shark.AndroidReferenceMatcher_XIAMI__RESOURCES_IMPL_Test.kt</ID>
37+
<ID>FinalNewline:AndroidResourceIdNames.kt$shark.AndroidResourceIdNames.kt</ID>
38+
<ID>FinalNewline:AndroidServices.kt$shark.AndroidServices.kt</ID>
39+
<ID>FinalNewline:Resources.kt$shark.Resources.kt</ID>
40+
<ID>MaximumLineLength:AndroidObjectInspectors.kt$AndroidObjectInspectors.CONTEXT_FIELD$ </ID>
41+
<ID>MaximumLineLength:AndroidObjectInspectors.kt$AndroidObjectInspectors.CONTEXT_WRAPPER$ </ID>
42+
<ID>MaximumLineLength:AndroidObjectInspectors.kt$AndroidObjectInspectors.OBJECT_ANIMATOR$ </ID>
43+
<ID>MaximumLineLength:AndroidObjectInspectors.kt$AndroidObjectInspectors.VIEW$ </ID>
44+
<ID>MaximumLineLength:AndroidObjectInspectors.kt$AndroidObjectInspectors.VIEW_ROOT_IMPL$ </ID>
45+
<ID>MaximumLineLength:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.INPUT_METHOD_MANAGER_IS_TERRIBLE$ </ID>
46+
<ID>MaximumLineLength:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.SPEN_GESTURE_MANAGER$ </ID>
47+
<ID>MaximumLineLength:HprofRetainedHeapPerfTest.kt$HprofRetainedHeapPerfTest$ </ID>
48+
<ID>MaximumLineLength:LegacyHprofTest.kt$LegacyHprofTest$ </ID>
49+
<ID>MultiLineIfElse:AndroidExtensions.kt$null</ID>
50+
<ID>MultiLineIfElse:AndroidObjectInspectors.kt$AndroidObjectInspectors.TOAST$false</ID>
51+
<ID>MultiLineIfElse:AndroidObjectInspectors.kt$AndroidObjectInspectors.VIEW_ROOT_IMPL$""</ID>
52+
<ID>MultiLineIfElse:HprofRetainedHeapPerfTest.kt$HprofRetainedHeapPerfTest$""</ID>
53+
<ID>MultiLineIfElse:LegacyHprofTest.kt$LegacyHprofTest$throw IllegalStateException( "Unexpected, should have 1 leaking status ${reporter.leakingReasons} or one label ${reporter.labels}" )</ID>
54+
<ID>NoConsecutiveBlankLines:AndroidReferenceMatchers.kt$ </ID>
55+
<ID>NoConsecutiveBlankLines:AndroidReferenceMatchers.kt$AndroidReferenceMatchers.ACTIVITY_CHOOSE_MODEL$ </ID>
56+
<ID>SpacingAroundCurly:AndroidResourceIdNamesTest.kt$AndroidResourceIdNamesTest${</ID>
57+
<ID>SpacingAroundKeyword:AndroidMetadataExtractor.kt$AndroidMetadataExtractor$when</ID>
58+
</CurrentIssues>
59+
</SmellBaseline>

0 commit comments

Comments
 (0)