Merge change 8111 into donut
* changes: Don't start search from a dialog if there is no activity associated with the search manager at that point.
This commit is contained in:
@@ -788,6 +788,11 @@ public class Dialog implements DialogInterface, Window.Callback,
|
|||||||
final SearchManager searchManager = (SearchManager) mContext
|
final SearchManager searchManager = (SearchManager) mContext
|
||||||
.getSystemService(Context.SEARCH_SERVICE);
|
.getSystemService(Context.SEARCH_SERVICE);
|
||||||
|
|
||||||
|
// can't start search without an associated activity (e.g a system dialog)
|
||||||
|
if (!searchManager.hasIdent()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// associate search with owner activity if possible (otherwise it will default to
|
// associate search with owner activity if possible (otherwise it will default to
|
||||||
// global search).
|
// global search).
|
||||||
final ComponentName appName = mOwnerActivity == null ? null
|
final ComponentName appName = mOwnerActivity == null ? null
|
||||||
|
|||||||
@@ -1537,6 +1537,10 @@ public class SearchManager
|
|||||||
ServiceManager.getService(Context.SEARCH_SERVICE));
|
ServiceManager.getService(Context.SEARCH_SERVICE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*package*/ boolean hasIdent() {
|
||||||
|
return mIdent != 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*package*/ void setIdent(int ident) {
|
/*package*/ void setIdent(int ident) {
|
||||||
if (mIdent != 0) {
|
if (mIdent != 0) {
|
||||||
throw new IllegalStateException("mIdent already set");
|
throw new IllegalStateException("mIdent already set");
|
||||||
|
|||||||
Reference in New Issue
Block a user