From 98b930ce4ca4258fe1d6e9df0053f6883517a241 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Thu, 1 Nov 2012 18:05:04 -0700 Subject: [PATCH] Cleaning up keyguard persistence threads when the pager is detached. (Bug 7460991) Change-Id: I28ebbd04d90a1ea2a721c28d3bce7ccea31a33e9 --- .../policy/impl/keyguard/KeyguardWidgetPager.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java index b0235732fb04e..f04c4df0636eb 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java @@ -98,6 +98,16 @@ public class KeyguardWidgetPager extends PagedView implements PagedView.PageSwit mBgPersistenceWorkerHandler = new Handler(mBgPersistenceWorkerThread.getLooper()); } + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + + // Clean up the persistence worker thread + if (mBgPersistenceWorkerThread != null) { + mBgPersistenceWorkerThread.quit(); + } + } + public void setViewStateManager(KeyguardViewStateManager viewStateManager) { mViewStateManager = viewStateManager; }