From 805a75dc8dac72474ee0744c1cedc93322f3bb7a Mon Sep 17 00:00:00 2001 From: Michael Comella Date: Tue, 6 Oct 2020 09:35:23 -0700 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/13959 - review: add clarifying comments. --- .../fenix/app/src/main/java/org/mozilla/fenix/StrictModeManager.kt | 3 +++ .../java/org/mozilla/fenix/detektrules/MozillaStrictModeSuppression.kt | 2 ++ 2 files changed, 5 insertions(+) diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/StrictModeManager.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/StrictModeManager.kt index ce47612b41f4..0f5675a5feca 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/StrictModeManager.kt +++ b/mobile/android/fenix/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/mobile/android/fenix/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaStrictModeSuppression.kt b/mobile/android/fenix/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaStrictModeSuppression.kt index 00fe2e8e7b7c..d2e89a335b89 100644 --- a/mobile/android/fenix/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaStrictModeSuppression.kt +++ b/mobile/android/fenix/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 -- 2.11.4.GIT