From fde11852cf0f91c4500a93dfffb44c1b86991e6e Mon Sep 17 00:00:00 2001 From: Nilesh Agrawal Date: Wed, 21 Jan 2015 11:50:57 -0800 Subject: [PATCH] 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 --- src/com/android/launcher3/LauncherProvider.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java index a9ad596525..4bdbdf407e 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -36,6 +36,7 @@ import android.database.sqlite.SQLiteDatabase; 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 @@ public class LauncherProvider extends ContentProvider { @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; }