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
diff --git a/core/java/android/util/CalendarUtils.java b/core/java/android/util/CalendarUtils.java
index 56421da..3d340d9 100644
--- a/core/java/android/util/CalendarUtils.java
+++ b/core/java/android/util/CalendarUtils.java
@@ -206,11 +206,11 @@
 
                 // 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) {