summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Sliwowski <psliwowski@google.com>2013-06-14 12:31:25 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-06-14 12:31:25 -0700
commit11c2d2031b2258f205fb30bc4ef09d96e433d0b2 (patch)
tree9df646a0ee7e9653a3766b55ce51b230c5de82d7
parent543dd991945b2b20e65ae5f6fc0be0d80c01edea (diff)
parenta0b14abb2b333c72d8be3fe7f8282837961341d2 (diff)
downloadandroid_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.java26
-rw-r--r--src/com/android/calendar/alerts/GlobalDismissManager.java1
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,