Avoid ANR in Home by avoiding a sycnhronized call on the UI thread.
Bug #2614636

Change-Id: If9ded9a2e231a429e4d0a21626b486f76fd0a3a6
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index a521d67..d5b5859 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -1096,13 +1096,13 @@
                         }
 
                         final boolean first = i <= batchSize;
+                        final Callbacks callbacks = tryGetCallbacks(oldCallbacks);
                         final ArrayList<ApplicationInfo> added = mAllAppsList.added;
                         mAllAppsList.added = new ArrayList<ApplicationInfo>();
 
                         mHandler.post(new Runnable() {
                             public void run() {
                                 final long t = SystemClock.uptimeMillis();
-                                final Callbacks callbacks = tryGetCallbacks(oldCallbacks);
                                 if (callbacks != null) {
                                     if (first) {
                                         mBeforeFirstLoad = false;