OSDN Git Service

Cleaning up keyguard persistence threads when the pager is detached. (Bug 7460991)
authorWinson Chung <winsonc@google.com>
Fri, 2 Nov 2012 01:05:04 +0000 (18:05 -0700)
committerWinson Chung <winsonc@google.com>
Fri, 2 Nov 2012 01:05:52 +0000 (18:05 -0700)
Change-Id: I28ebbd04d90a1ea2a721c28d3bce7ccea31a33e9

policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java

index b023573..f04c4df 100644 (file)
@@ -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;
     }