From 09bd4bf85e357fc8eaa5c6a219a8827159e865da Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 15 Sep 2010 15:45:19 -0700 Subject: [PATCH] b/3004029 Fixed content resolver loss We were creating a static AsyncQueryHandler which only held a weak reference to the content resolver. This caused db updates to be dropped once the original context had been gc'd. This fix creates a new handler for each update to ensure we have a valid resolver. Change-Id: I049d8390ac0215e12e63d57b0bae4d3f6df64b6a --- core/java/android/util/CalendarUtils.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/java/android/util/CalendarUtils.java b/core/java/android/util/CalendarUtils.java index 56421da7a7ebc..3d340d99d1d6f 100644 --- a/core/java/android/util/CalendarUtils.java +++ b/core/java/android/util/CalendarUtils.java @@ -206,11 +206,11 @@ public class CalendarUtils { // Update the db ContentValues values = new ContentValues(); - if (mHandler == null) { - mHandler = new AsyncTZHandler(context.getContentResolver()); + if (mHandler != null) { + mHandler.cancelOperation(mToken); } - mHandler.cancelOperation(mToken); + mHandler = new AsyncTZHandler(context.getContentResolver()); // skip 0 so query can use it if (++mToken == 0) {