Add strict mode exception in LauncherProvider.

Content providers are created during process startup (before Application.onCreate),
and we should not be doing expensive stuff in Provider.onCreate

Adding an exception for now as it looks like LauncherProvider initialization is needed
before we can show meaningful UI.

Bug: 19094644
Change-Id: I860c2934c110d3a43f1a3afa00729077dc64796c
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index a9ad596..4bdbdf4 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -36,6 +36,7 @@
 import android.database.sqlite.SQLiteOpenHelper;
 import android.database.sqlite.SQLiteQueryBuilder;
 import android.net.Uri;
+import android.os.StrictMode;
 import android.text.TextUtils;
 import android.util.Log;
 import android.util.SparseArray;
@@ -85,7 +86,9 @@
     @Override
     public boolean onCreate() {
         final Context context = getContext();
+        StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
         mOpenHelper = new DatabaseHelper(context);
+        StrictMode.setThreadPolicy(oldPolicy);
         LauncherAppState.setLauncherProvider(this);
         return true;
     }