From 280243a4a9f3f1c2eae0bdb1650d861d7647e777 Mon Sep 17 00:00:00 2001 From: Josh Tsuji Date: Wed, 26 May 2021 18:03:57 -0400 Subject: [PATCH] Remove DozeUi from the TunerService so we don't leak memory. Fixes: 182750394 Test: doesn't crash Change-Id: I752a19600a235a313878785424bc7764e28e0b61 --- .../SystemUI/src/com/android/systemui/doze/DozeUi.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java index 4418696bfc9b9..ff3cb2102d606 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java @@ -62,6 +62,7 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { private final DozeParameters mDozeParameters; private final DozeLog mDozeLog; private final Lazy mStatusBarStateController; + private final TunerService mTunerService; private boolean mKeyguardShowing; private final KeyguardUpdateMonitorCallback mKeyguardVisibilityCallback = @@ -102,8 +103,15 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { mTimeTicker = new AlarmTimeout(alarmManager, this::onTimeTick, "doze_time_tick", handler); keyguardUpdateMonitor.registerCallback(mKeyguardVisibilityCallback); mDozeLog = dozeLog; - tunerService.addTunable(this, Settings.Secure.DOZE_ALWAYS_ON); + mTunerService = tunerService; mStatusBarStateController = statusBarStateController; + + mTunerService.addTunable(this, Settings.Secure.DOZE_ALWAYS_ON); + } + + @Override + public void destroy() { + mTunerService.removeTunable(this); } @Override