add some more defensiveness to SuggestionsAdapter to avoid system process crashes.
diff --git a/core/java/android/app/SuggestionsAdapter.java b/core/java/android/app/SuggestionsAdapter.java
index 54061ae..17e6e50 100644
--- a/core/java/android/app/SuggestionsAdapter.java
+++ b/core/java/android/app/SuggestionsAdapter.java
@@ -136,6 +136,8 @@
             private int mPreviousLength = 0;
 
             public long getPostingDelay(CharSequence constraint) {
+                if (constraint == null) return 0;
+                
                 long delay = constraint.length() < mPreviousLength ? DELETE_KEY_POST_DELAY : 0;
                 mPreviousLength = constraint.length();
                 return delay;
@@ -196,14 +198,18 @@
             callCursorPreClose(mCursor);
         }
 
-        super.changeCursor(c);
-        if (c != null) {
-            mFormatCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_FORMAT);
-            mText1Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_1);
-            mText2Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_2);
-            mIconName1Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_ICON_1);
-            mIconName2Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_ICON_2);
-            mBackgroundColorCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_BACKGROUND_COLOR);
+        try {
+            super.changeCursor(c);
+            if (c != null) {
+                mFormatCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_FORMAT);
+                mText1Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_1);
+                mText2Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_2);
+                mIconName1Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_ICON_1);
+                mIconName2Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_ICON_2);
+                mBackgroundColorCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_BACKGROUND_COLOR);
+            }
+        } catch (Exception e) {
+            Log.e(LOG_TAG, "error changing cursor and caching columns", e);
         }
     }