diff options
author | Paul Sliwowski <psliwowski@google.com> | 2013-06-14 12:31:25 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-06-14 12:31:25 -0700 |
commit | 11c2d2031b2258f205fb30bc4ef09d96e433d0b2 (patch) | |
tree | 9df646a0ee7e9653a3766b55ce51b230c5de82d7 | |
parent | 543dd991945b2b20e65ae5f6fc0be0d80c01edea (diff) | |
parent | a0b14abb2b333c72d8be3fe7f8282837961341d2 (diff) | |
download | android_packages_apps_Calendar-11c2d2031b2258f205fb30bc4ef09d96e433d0b2.tar.gz android_packages_apps_Calendar-11c2d2031b2258f205fb30bc4ef09d96e433d0b2.tar.bz2 android_packages_apps_Calendar-11c2d2031b2258f205fb30bc4ef09d96e433d0b2.zip |
am a0b14abb: Merge "Fix calander crash where getTimezone was call without a looper." into ics-ub-calendar-eggplant
* commit 'a0b14abb2b333c72d8be3fe7f8282837961341d2':
Fix calander crash where getTimezone was call without a looper.
-rw-r--r-- | src/com/android/calendar/CalendarUtils.java | 26 | ||||
-rw-r--r-- | src/com/android/calendar/alerts/GlobalDismissManager.java | 1 |
2 files changed, 15 insertions, 12 deletions
diff --git a/src/com/android/calendar/CalendarUtils.java b/src/com/android/calendar/CalendarUtils.java index aaa91bb4..0238c321 100644 --- a/src/com/android/calendar/CalendarUtils.java +++ b/src/com/android/calendar/CalendarUtils.java @@ -22,6 +22,7 @@ import android.content.ContentValues; import android.content.Context; import android.content.SharedPreferences; import android.database.Cursor; +import android.os.Looper; import android.provider.CalendarContract.CalendarCache; import android.text.TextUtils; import android.text.format.DateUtils; @@ -269,22 +270,25 @@ public class CalendarUtils { public String getTimeZone(Context context, Runnable callback) { synchronized (mTZCallbacks){ if (mFirstTZRequest) { - mTZQueryInProgress = true; - mFirstTZRequest = false; - SharedPreferences prefs = getSharedPreferences(context, mPrefsName); mUseHomeTZ = prefs.getBoolean(KEY_HOME_TZ_ENABLED, false); mHomeTZ = prefs.getString(KEY_HOME_TZ, Time.getCurrentTimezone()); - // When the async query returns it should synchronize on - // mTZCallbacks, update mUseHomeTZ, mHomeTZ, and the - // preferences, set mTZQueryInProgress to false, and call all - // the runnables in mTZCallbacks. - if (mHandler == null) { - mHandler = new AsyncTZHandler(context.getContentResolver()); + // Only check content resolver if we have a looper to attach to use + if (Looper.myLooper() != null) { + mTZQueryInProgress = true; + mFirstTZRequest = false; + + // When the async query returns it should synchronize on + // mTZCallbacks, update mUseHomeTZ, mHomeTZ, and the + // preferences, set mTZQueryInProgress to false, and call all + // the runnables in mTZCallbacks. + if (mHandler == null) { + mHandler = new AsyncTZHandler(context.getContentResolver()); + } + mHandler.startQuery(0, context, CalendarCache.URI, CALENDAR_CACHE_POJECTION, + null, null, null); } - mHandler.startQuery(0, context, CalendarCache.URI, CALENDAR_CACHE_POJECTION, - null, null, null); } if (mTZQueryInProgress) { mTZCallbacks.add(callback); diff --git a/src/com/android/calendar/alerts/GlobalDismissManager.java b/src/com/android/calendar/alerts/GlobalDismissManager.java index 6bbd2bc0..23d69de9 100644 --- a/src/com/android/calendar/alerts/GlobalDismissManager.java +++ b/src/com/android/calendar/alerts/GlobalDismissManager.java @@ -312,7 +312,6 @@ public class GlobalDismissManager extends BroadcastReceiver { Set<Long> calendars) { Map<Long, Pair<String, String>> calendarsToAccounts = new HashMap<Long, Pair<String, String>>(); - ; ContentResolver resolver = context.getContentResolver(); String calendarSelection = buildMultipleIdQuery(calendars, Calendars._ID); Cursor calendarCursor = resolver.query(Calendars.CONTENT_URI, CALENDARS_PROJECTION, |