summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml13
-rw-r--r--res/values/strings.xml2
-rw-r--r--res/xml/bookmarks_searchable.xml28
-rw-r--r--src/com/android/browser/BookmarkSearch.java44
4 files changed, 87 insertions, 0 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c67cc97..ace5750 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -176,6 +176,19 @@
android:theme="@android:style/Theme.Dialog">
</activity>
+ <activity android:name="BookmarkSearch"
+ android:label="@string/bookmarks_search"
+ android:stateNotNeeded="true"
+ android:theme="@android:style/Theme.NoDisplay"
+ android:excludeFromRecents="true">
+ <intent-filter>
+ <action android:name="android.intent.action.SEARCH" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <meta-data android:name="android.app.searchable"
+ android:resource="@xml/bookmarks_searchable" />
+ </activity>
+
<service android:name="GearsDialogService"
android:process=":dialog"
android:exported="false">
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 98142ac..040cf45 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -38,6 +38,8 @@
<string name="password">Password</string>
<!-- The label on the "sign in" button -->
<string name="action">Sign in</string>
+ <!-- The name of the bookmarks and history search suggestion source. -->
+ <string name="bookmarks_search">Bookmarks &amp; history</string>
<!-- Label for a cancel button. It is used for multiple cancel buttons in different contexts -->
<string name="cancel">Cancel</string>
diff --git a/res/xml/bookmarks_searchable.xml b/res/xml/bookmarks_searchable.xml
new file mode 100644
index 0000000..1508606
--- /dev/null
+++ b/res/xml/bookmarks_searchable.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<searchable xmlns:android="http://schemas.android.com/apk/res/android"
+ android:label="@string/bookmarks_search"
+ android:searchButtonText="@string/search_button_text"
+ android:searchMode="queryRewriteFromData"
+ android:inputType="textUri"
+ android:imeOptions="actionGo"
+
+ android:searchSuggestAuthority="browser"
+ android:searchSuggestPath="bookmarks"
+ android:searchSuggestSelection="url LIKE ?"
+ android:searchSuggestIntentAction="android.intent.action.VIEW"
+/>
diff --git a/src/com/android/browser/BookmarkSearch.java b/src/com/android/browser/BookmarkSearch.java
new file mode 100644
index 0000000..4d3ca0f
--- /dev/null
+++ b/src/com/android/browser/BookmarkSearch.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+
+/**
+ * This activity is never started from the browser. Its purpose is to provide bookmark suggestions
+ * to global search (through its searchable meta-data), and to handle the intents produced
+ * by clicking such suggestions.
+ */
+public class BookmarkSearch extends Activity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ Intent intent = getIntent();
+ if (intent != null) {
+ String action = intent.getAction();
+ if (Intent.ACTION_VIEW.equals(action)) {
+ intent.setClass(this, BrowserActivity.class);
+ startActivity(intent);
+ }
+ }
+ finish();
+ }
+
+}