Add a lot of logging that can be seen by doing adb shell setprop launcher2.dumpstate 1 and presssing volume down
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index a8235a2..3e878d6 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -48,6 +48,7 @@
 import android.os.Parcelable;
 import android.os.RemoteException;
 import android.os.ServiceManager;
+import android.os.SystemProperties;
 import android.provider.LiveFolders;
 import android.text.Selection;
 import android.text.SpannableStringBuilder;
@@ -1321,6 +1322,12 @@
                     return true;
                 case KeyEvent.KEYCODE_HOME:
                     return true;
+                case KeyEvent.KEYCODE_VOLUME_DOWN:
+                    if (SystemProperties.getInt("launcher2.dumpstate", 0) != 0) {
+                        dumpState();
+                        return true;
+                    }
+                    break;
             }
         } else if (event.getAction() == KeyEvent.ACTION_UP) {
             switch (event.getKeyCode()) {
@@ -2192,4 +2199,14 @@
         mWorkspace.removeShortcutsForPackage(packageName);
         mAllAppsGrid.removeApps(apps);
     }
+
+    /**
+     * Prints out out state for debugging.
+     */
+    public void dumpState() {
+        Log.d(TAG, "BEGIN launcher2 dump state for launcher " + this);
+        mModel.dumpState();
+        mAllAppsGrid.dumpState();
+        Log.d(TAG, "END launcher2 dump state");
+    }
 }