From 3e96f6b38504c293f139310d2d80fb0932f5f54e Mon Sep 17 00:00:00 2001 From: Michael Comella Date: Tue, 6 Oct 2020 09:35:23 -0700 Subject: [PATCH] For #13959 - review: add clarifying comments. --- app/src/main/java/org/mozilla/fenix/StrictModeManager.kt | 3 +++ .../mozilla/fenix/detektrules/MozillaStrictModeSuppression.kt | 2 ++ 2 files changed, 5 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/StrictModeManager.kt b/app/src/main/java/org/mozilla/fenix/StrictModeManager.kt index ce47612b4..0f5675a5f 100644 --- a/app/src/main/java/org/mozilla/fenix/StrictModeManager.kt +++ b/app/src/main/java/org/mozilla/fenix/StrictModeManager.kt @@ -122,6 +122,9 @@ class StrictModeManager( // quintillion times in a build config where StrictMode is enabled so we don't handle it // because it'd increase complexity. suppressionCount += 1 + + // We log so that devs are more likely to notice that we're suppressing StrictMode violations. + // We add profiler markers so that the perf team can easily identify IO locations in profiles. logger.warn("StrictMode violation suppressed: #$suppressionCount") if (Thread.currentThread() == mainLooper.thread) { // markers only supported on main thread. components.core.engine.profiler?.addMarker("StrictMode.suppression", "Count: $suppressionCount") diff --git a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaStrictModeSuppression.kt b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaStrictModeSuppression.kt index 00fe2e8e7..d2e89a335 100644 --- a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaStrictModeSuppression.kt +++ b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaStrictModeSuppression.kt @@ -52,6 +52,8 @@ class MozillaStrictModeSuppression(config: Config) : Rule(config) { val receiver = expression.parent?.firstChild?.node?.chars val calledMethod = expression.calleeExpression?.firstChild?.node?.chars + // This won't catch if setVmPolicy is imported directly. However, this is unlikely so let's + // not handle it now. Maybe we can add it when we add tests for this file. if (receiver == "StrictMode") { val violationMsg = when (calledMethod) { "setThreadPolicy" -> VIOLATION_MSG