Prevent the BrightLineFalsingManager from duping its session.
The BrightLineFalsingManager should not be able to start a session
when it's already in a session. Primarily, this caused the
FalsingManager to hang onto extra registrations to the Proximity
Sensor, per the bug.
Bug: 138220274
Test: atest SystemUITests and manual.
Change-Id: Id10d2697a96524e98c87aaa87702209d1752fe68
(cherry picked from commit 0ae8f2e36a6c86d54585fd57d55e184b0d99de1c)
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java
index 3d869bc..6280c9f 100644
--- a/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java
@@ -98,10 +98,12 @@
}
private void sessionStart() {
- logDebug("Starting Session");
- mSessionStarted = true;
- registerSensors();
- mClassifiers.forEach(FalsingClassifier::onSessionStarted);
+ if (!mSessionStarted) {
+ logDebug("Starting Session");
+ mSessionStarted = true;
+ registerSensors();
+ mClassifiers.forEach(FalsingClassifier::onSessionStarted);
+ }
}
private void sessionEnd() {