Merge \"CalendarProvider2: log failures to get the cached calling package.\" into nyc-dev
am: bcc65b8d27

Change-Id: I738a86b17cef357e6ac8de2709942ef465ff7691
diff --git a/src/com/android/providers/calendar/CalendarProvider2.java b/src/com/android/providers/calendar/CalendarProvider2.java
index cfc1269..5b78b50 100644
--- a/src/com/android/providers/calendar/CalendarProvider2.java
+++ b/src/com/android/providers/calendar/CalendarProvider2.java
@@ -436,6 +436,8 @@
     /** set to 'true' to enable debug logging for recurrence exception code */
     private static final boolean DEBUG_EXCEPTION = false;
 
+    private final ThreadLocal<Boolean> mCallingPackageErrorLogged = new ThreadLocal<Boolean>();
+
     private Context mContext;
     private ContentResolver mContentResolver;
 
@@ -5083,7 +5085,10 @@
             // If the calling package is null, use the best available as a fallback.
             return getCachedCallingPackage();
         }
-
+        if (!Boolean.TRUE.equals(mCallingPackageErrorLogged.get())) {
+            Log.e(TAG, "Failed to get the cached calling package.", new Throwable());
+            mCallingPackageErrorLogged.set(Boolean.TRUE);
+        }
         final PackageManager pm = getContext().getPackageManager();
         final int uid = Binder.getCallingUid();
         final String[] packages = pm.getPackagesForUid(uid);