Merge "Adding search for dynamic print settings."
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 9c1e300..1144985 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -20,6 +20,7 @@
import android.app.ActivityManagerNative;
import android.content.ComponentName;
import android.content.Context;
+import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.res.Configuration;
@@ -32,6 +33,7 @@
import android.preference.Preference;
import android.preference.PreferenceCategory;
import android.preference.PreferenceScreen;
+import android.provider.SearchIndexableResource;
import android.provider.Settings;
import android.text.TextUtils;
import android.text.TextUtils.SimpleStringSplitter;
@@ -48,7 +50,11 @@
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settings.search.SearchIndexableRaw;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -59,7 +65,7 @@
* Activity with the accessibility settings.
*/
public class AccessibilitySettings extends SettingsPreferenceFragment implements DialogCreatable,
- Preference.OnPreferenceChangeListener {
+ Preference.OnPreferenceChangeListener, Indexable {
private static final float LARGE_FONT_SCALE = 1.3f;
@@ -570,4 +576,45 @@
installedServices.add(installedService);
}
}
+
+ public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+ new BaseSearchIndexProvider() {
+ @Override
+ public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
+ List<SearchIndexableRaw> indexables = new ArrayList<SearchIndexableRaw>();
+
+ PackageManager packageManager = context.getPackageManager();
+ AccessibilityManager accessibilityManager = (AccessibilityManager)
+ context.getSystemService(Context.ACCESSIBILITY_SERVICE);
+
+ String screenTitle = context.getResources().getString(
+ R.string.accessibility_services_title);
+
+ // Indexing all services, reagardles if enabled.
+ List<AccessibilityServiceInfo> services = accessibilityManager
+ .getInstalledAccessibilityServiceList();
+ final int serviceCount = services.size();
+ for (int i = 0; i < serviceCount; i++) {
+ AccessibilityServiceInfo service = services.get(i);
+ SearchIndexableRaw indexable = new SearchIndexableRaw(context);
+ indexable.title = service.getResolveInfo().loadLabel(packageManager).toString();
+ indexable.summaryOn = context.getString(R.string.accessibility_feature_state_on);
+ indexable.summaryOff = context.getString(R.string.accessibility_feature_state_off);
+ indexable.screenTitle = screenTitle;
+ indexables.add(indexable);
+ }
+
+ return indexables;
+ }
+
+ @Override
+ public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+ boolean enabled) {
+ List<SearchIndexableResource> indexables = new ArrayList<SearchIndexableResource>();
+ SearchIndexableResource indexable = new SearchIndexableResource(context);
+ indexable.xmlResId = R.xml.accessibility_settings;
+ indexables.add(indexable);
+ return indexables;
+ }
+ };
}
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
index 12d25e5..e336ae4 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
@@ -215,8 +215,10 @@
final Context context = getContext();
SearchIndexableRaw data = new SearchIndexableRaw(context);
+ data.className = BluetoothSettings.class.getName();
data.title = mCachedDevice.getName();
data.screenTitle = context.getResources().getString(R.string.bluetooth_settings);
+ data.iconResId = R.drawable.ic_settings_bluetooth2;
data.enabled = true;
Index.getInstance(context).updateFromSearchIndexableData(data);
diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
index 821013d..b50d2b4 100755
--- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
+++ b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
@@ -235,8 +235,10 @@
final Context context = preference.getContext();
SearchIndexableRaw data = new SearchIndexableRaw(context);
+ data.className = BluetoothSettings.class.getName();
data.title = mCachedDevice.getName();
data.screenTitle = context.getResources().getString(R.string.bluetooth_settings);
+ data.iconResId = R.drawable.ic_settings_bluetooth2;
data.enabled = false;
Index.getInstance(context).updateFromSearchIndexableData(data);
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index 8873184..7dcc38c 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -186,7 +186,7 @@
sResMap.put(AccessibilitySettings.class.getName(),
new SearchIndexableResource(RANK_ACCESSIBILITY,
- R.xml.accessibility_settings,
+ NO_DATA_RES_ID,
AccessibilitySettings.class.getName(),
R.drawable.ic_settings_accessibility));