Fix 2198937: Home becomes unresponsive after picking wallpaper

THe problem was that the code was relying on mWaitingForResult being
cleared in onActivityResult. This was not being called because the
wallpaper choosing activity was not being invoked with a result code.

We may want to rethink blocking touch events when isWorkspaceLocked().
There may be other places where we can get stuck like this.
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 8516366..6fb8e4c 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -107,6 +107,7 @@
     private static final int REQUEST_PICK_SHORTCUT = 7;
     private static final int REQUEST_PICK_LIVE_FOLDER = 8;
     private static final int REQUEST_PICK_APPWIDGET = 9;
+    private static final int REQUEST_PICK_WALLPAPER = 10;
 
     static final String EXTRA_SHORTCUT_DUPLICATE = "duplicate";
 
@@ -376,6 +377,9 @@
                 case REQUEST_CREATE_APPWIDGET:
                     completeAddAppWidget(data, mAddItemCellInfo);
                     break;
+                case REQUEST_PICK_WALLPAPER:
+                    // We just wanted the activity result here so we can clear mWaitingForResult
+                    break;
             }
         } else if (requestCode == REQUEST_PICK_APPWIDGET &&
                 resultCode == RESULT_CANCELED && data != null) {
@@ -1258,7 +1262,7 @@
             li.setClassName(wi.getPackageName(), wi.getSettingsActivity());
             chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { li });
         }
-        startActivity(chooser);
+        startActivityForResult(chooser, REQUEST_PICK_WALLPAPER);
     }
 
     @Override
@@ -1614,6 +1618,7 @@
         //mWorkspace.hide();
 
         mAllAppsGrid.setFocusable(true);
+        mAllAppsGrid.requestFocus();
         
         // TODO: fade these two too
         mDeleteZone.setVisibility(View.GONE);