summaryrefslogtreecommitdiffstats
path: root/core/java/android/server/search/SearchManagerService.java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2009-07-13 13:07:51 -0700
committerDianne Hackborn <hackbod@google.com>2009-07-14 11:37:11 -0700
commitb06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0 (patch)
tree2fcae8f89195ef4b162627892aeca97f06d42ef7 /core/java/android/server/search/SearchManagerService.java
parent3660c09500a4d01eb6a733b5f0b15545855f8fe8 (diff)
downloadframeworks_base-b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0.zip
frameworks_base-b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0.tar.gz
frameworks_base-b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0.tar.bz2
Add reporting of activity movement for search manager.
This adds a new API with the activity manager to find out about movement between activities. For my sanity, the old IActivityWatcher is now renamed to IActivityController, and the new activity movement interface is named IActivityWatcher. This changes the search manager itself to use the new API to manage its state. Note that there are still problems when going back to the search dialog after it was hidden -- the suggestions window no longer appears until you explicitly dismiss and re-show it.
Diffstat (limited to 'core/java/android/server/search/SearchManagerService.java')
-rw-r--r--core/java/android/server/search/SearchManagerService.java24
1 files changed, 20 insertions, 4 deletions
diff --git a/core/java/android/server/search/SearchManagerService.java b/core/java/android/server/search/SearchManagerService.java
index f9c0f1a..7629912 100644
--- a/core/java/android/server/search/SearchManagerService.java
+++ b/core/java/android/server/search/SearchManagerService.java
@@ -16,6 +16,8 @@
package android.server.search;
+import android.app.ActivityManagerNative;
+import android.app.IActivityWatcher;
import android.app.ISearchManager;
import android.app.ISearchManagerCallback;
import android.app.SearchManager;
@@ -26,6 +28,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Handler;
+import android.os.RemoteException;
import android.util.Log;
import java.util.List;
@@ -71,8 +74,11 @@ public class SearchManagerService extends ISearchManager.Stub {
* Initializes the list of searchable activities and the search UI.
*/
void initialize() {
- ensureSearchablesCreated();
- ensureSearchDialogCreated();
+ try {
+ ActivityManagerNative.getDefault().registerActivityWatcher(
+ mActivityWatcher);
+ } catch (RemoteException e) {
+ }
}
private synchronized void ensureSearchablesCreated() {
@@ -126,6 +132,14 @@ public class SearchManagerService extends ISearchManager.Stub {
}
};
+ private IActivityWatcher.Stub mActivityWatcher = new IActivityWatcher.Stub() {
+ public void activityResuming(int activityId) throws RemoteException {
+ if (DBG) Log.i("foo", "********************** resuming: " + activityId);
+ if (mSearchDialog == null) return;
+ mSearchDialog.activityResuming(activityId);
+ }
+ };
+
/**
* Informs all listeners that the list of searchables has been updated.
*/
@@ -206,13 +220,15 @@ public class SearchManagerService extends ISearchManager.Stub {
ComponentName launchActivity,
Bundle appSearchData,
boolean globalSearch,
- ISearchManagerCallback searchManagerCallback) {
+ ISearchManagerCallback searchManagerCallback,
+ int ident) {
getSearchDialog().startSearch(initialQuery,
selectInitialQuery,
launchActivity,
appSearchData,
globalSearch,
- searchManagerCallback);
+ searchManagerCallback,
+ ident);
}
/**