summaryrefslogtreecommitdiffstats
path: root/src/com/android/swe/browser/search/DefaultSearchEngine.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/swe/browser/search/DefaultSearchEngine.java')
-rw-r--r--src/com/android/swe/browser/search/DefaultSearchEngine.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/com/android/swe/browser/search/DefaultSearchEngine.java b/src/com/android/swe/browser/search/DefaultSearchEngine.java
index e4e0e968..f7047cc0 100644
--- a/src/com/android/swe/browser/search/DefaultSearchEngine.java
+++ b/src/com/android/swe/browser/search/DefaultSearchEngine.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.browser.search;
+package com.android.swe.browser.search;
import android.app.PendingIntent;
import android.app.SearchManager;
@@ -29,6 +29,7 @@ import android.os.Bundle;
import android.provider.Browser;
import android.text.TextUtils;
import android.util.Log;
+import com.android.swe.browser.reflect.ReflectHelper;
public class DefaultSearchEngine implements SearchEngine {
@@ -46,7 +47,9 @@ public class DefaultSearchEngine implements SearchEngine {
public static DefaultSearchEngine create(Context context) {
SearchManager searchManager =
(SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
- ComponentName name = searchManager.getWebSearchActivity();
+ ComponentName name = (ComponentName) ReflectHelper.invokeMethod(
+ searchManager, "getWebSearchActivity", null, null);
+
if (name == null) return null;
SearchableInfo searchable = searchManager.getSearchableInfo(name);
if (searchable == null) return null;
@@ -80,7 +83,8 @@ public class DefaultSearchEngine implements SearchEngine {
return mLabel;
}
- public void startSearch(Context context, String query, Bundle appData, String extraData) {
+ public void startSearch(Context context, String query,
+ Bundle appData, String extraData) {
try {
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.setComponent(mSearchable.getSearchActivity());
@@ -101,14 +105,19 @@ public class DefaultSearchEngine implements SearchEngine {
intent.putExtra(SearchManager.EXTRA_WEB_SEARCH_PENDINGINTENT, pending);
context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
- Log.e(TAG, "Web search activity not found: " + mSearchable.getSearchActivity());
+ Log.e(TAG, "Web search activity not found: " +
+ mSearchable.getSearchActivity());
}
}
public Cursor getSuggestions(Context context, String query) {
SearchManager searchManager =
(SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
- return searchManager.getSuggestions(mSearchable, query);
+ Object[] params = {mSearchable, query};
+ Class[] type = new Class[] {SearchableInfo.class, String.class};
+ Cursor cursor = (Cursor) ReflectHelper.invokeMethod(
+ searchManager, "getSuggestions", type, params);
+ return cursor;
}
public boolean supportsSuggestions() {