am ee716fa2: Make sure SearchDialog.mSearchable != null in key handlers

Merge commit 'ee716fa2b03666622a73f8cc54dae4afd091353d'

* commit 'ee716fa2b03666622a73f8cc54dae4afd091353d':
  Make sure SearchDialog.mSearchable != null in key handlers
This commit is contained in:
Bjorn Bringert
2009-07-16 17:53:48 -07:00
committed by Android Git Automerger

View File

@@ -28,7 +28,6 @@ import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.drawable.Animatable;
@@ -322,16 +321,14 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS
if (!globalSearch && mSearchable == null) {
globalSearch = true;
mSearchable = searchManager.getSearchableInfo(componentName, globalSearch);
// If we still get back null (i.e., there's not even a searchable info available
// for global search), then really give up.
if (mSearchable == null) {
// Unfortunately, we can't log here. it would be logspam every time the user
// clicks the "search" key on a non-search app.
return false;
}
}
// If there's not even a searchable info available for global search, then really give up.
if (mSearchable == null) {
Log.w(LOG_TAG, "No global search provider.");
return false;
}
mLaunchComponent = componentName;
mAppSearchData = appSearchData;
// Using globalSearch here is just an optimization, just calling
@@ -702,7 +699,10 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (DBG) Log.d(LOG_TAG, "onKeyDown(" + keyCode + "," + event + ")");
if (mSearchable == null) {
return false;
}
// handle back key to go back to previous searchable, etc.
if (handleBackKey(keyCode, event)) {
return true;
@@ -738,6 +738,9 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS
if (DBG_LOG_TIMING) {
dbgLogTiming("onTextChanged()");
}
if (mSearchable == null) {
return;
}
updateWidgetState();
if (!mSearchAutoComplete.isPerformingCompletion()) {
// The user changed the query, remember it.
@@ -1563,6 +1566,9 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS
*/
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (mSearchDialog.mSearchable == null) {
return false;
}
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
if (mSearchDialog.backToPreviousComponent()) {
return true;