Merge change 8443 into donut

* changes:
  add some more defensiveness to SuggestionsAdapter to avoid system process crashes.
This commit is contained in:
Android (Google) Code Review
2009-07-23 17:38:24 -07:00

View File

@@ -136,6 +136,8 @@ class SuggestionsAdapter extends ResourceCursorAdapter {
private int mPreviousLength = 0; private int mPreviousLength = 0;
public long getPostingDelay(CharSequence constraint) { public long getPostingDelay(CharSequence constraint) {
if (constraint == null) return 0;
long delay = constraint.length() < mPreviousLength ? DELETE_KEY_POST_DELAY : 0; long delay = constraint.length() < mPreviousLength ? DELETE_KEY_POST_DELAY : 0;
mPreviousLength = constraint.length(); mPreviousLength = constraint.length();
return delay; return delay;
@@ -196,6 +198,7 @@ class SuggestionsAdapter extends ResourceCursorAdapter {
callCursorPreClose(mCursor); callCursorPreClose(mCursor);
} }
try {
super.changeCursor(c); super.changeCursor(c);
if (c != null) { if (c != null) {
mFormatCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_FORMAT); mFormatCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_FORMAT);
@@ -205,6 +208,9 @@ class SuggestionsAdapter extends ResourceCursorAdapter {
mIconName2Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_ICON_2); mIconName2Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_ICON_2);
mBackgroundColorCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_BACKGROUND_COLOR); mBackgroundColorCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_BACKGROUND_COLOR);
} }
} catch (Exception e) {
Log.e(LOG_TAG, "error changing cursor and caching columns", e);
}
} }
/** /**