Fix home search
- Remove old home from search
- Fix weird threading problem on new home search indexing
Bug: 27249674
Change-Id: I3cfdde7dd3595f5161b5f8c861041c40e800c7bd
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index e719291..5a76bf3 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -48,6 +48,8 @@
import android.net.Uri;
import android.os.BatteryManager;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
import android.os.IBinder;
import android.os.INetworkManagementService;
import android.os.RemoteException;
@@ -1045,10 +1047,18 @@
}
public static List<String> getNonIndexable(int xml, Context context) {
- List<String> ret = new ArrayList<>();
- PreferenceManager manager = new PreferenceManager(context);
- PreferenceScreen screen = manager.inflateFromResource(context, xml, null);
- checkPrefs(screen, ret);
+ HandlerThread thread = new HandlerThread("Index_" + xml);
+ thread.start();
+ final List<String> ret = new ArrayList<>();
+ new Handler(thread.getLooper()).post(new Runnable() {
+ @Override
+ public void run() {
+ PreferenceManager manager = new PreferenceManager(context);
+ PreferenceScreen screen = manager.inflateFromResource(context, xml, null);
+ checkPrefs(screen, ret);
+ }
+ });
+ thread.quitSafely();
return ret;
}
diff --git a/src/com/android/settings/search/Ranking.java b/src/com/android/settings/search/Ranking.java
index 94b010c..80eb6d4 100644
--- a/src/com/android/settings/search/Ranking.java
+++ b/src/com/android/settings/search/Ranking.java
@@ -21,13 +21,11 @@
import com.android.settings.DevelopmentSettings;
import com.android.settings.DeviceInfoSettings;
import com.android.settings.DisplaySettings;
-import com.android.settings.HomeSettings;
import com.android.settings.LegalSettings;
import com.android.settings.PrivacySettings;
import com.android.settings.ScreenPinningSettings;
import com.android.settings.SecuritySettings;
import com.android.settings.WallpaperTypeSettings;
-import com.android.settings.WifiCallingSettings;
import com.android.settings.WirelessSettings;
import com.android.settings.accessibility.AccessibilitySettings;
import com.android.settings.accounts.AccountSettings;
@@ -69,25 +67,24 @@
public static final int RANK_SIM = 3;
public static final int RANK_DATA_USAGE = 4;
public static final int RANK_WIRELESS = 5;
- public static final int RANK_HOME = 6;
- public static final int RANK_DISPLAY = 7;
- public static final int RANK_WALLPAPER = 8;
- public static final int RANK_NOTIFICATIONS = 9;
- public static final int RANK_SOUND = 10;
- public static final int RANK_APPS = 11;
- public static final int RANK_STORAGE = 12;
- public static final int RANK_POWER_USAGE = 13;
- public static final int RANK_USERS = 14;
- public static final int RANK_LOCATION = 15;
- public static final int RANK_SECURITY = 16;
- public static final int RANK_ACCOUNT = 17;
- public static final int RANK_IME = 18;
- public static final int RANK_PRIVACY = 19;
- public static final int RANK_DATE_TIME = 20;
- public static final int RANK_ACCESSIBILITY = 21;
- public static final int RANK_PRINTING = 22;
- public static final int RANK_DEVELOPEMENT = 23;
- public static final int RANK_DEVICE_INFO = 24;
+ public static final int RANK_DISPLAY = 6;
+ public static final int RANK_WALLPAPER = 7;
+ public static final int RANK_NOTIFICATIONS = 8;
+ public static final int RANK_SOUND = 9;
+ public static final int RANK_APPS = 10;
+ public static final int RANK_STORAGE = 11;
+ public static final int RANK_POWER_USAGE = 12;
+ public static final int RANK_USERS = 13;
+ public static final int RANK_LOCATION = 14;
+ public static final int RANK_SECURITY = 15;
+ public static final int RANK_ACCOUNT = 16;
+ public static final int RANK_IME = 17;
+ public static final int RANK_PRIVACY = 18;
+ public static final int RANK_DATE_TIME = 19;
+ public static final int RANK_ACCESSIBILITY = 20;
+ public static final int RANK_PRINTING = 21;
+ public static final int RANK_DEVELOPEMENT = 22;
+ public static final int RANK_DEVICE_INFO = 23;
public static final int RANK_UNDEFINED = -1;
public static final int RANK_OTHERS = 1024;
@@ -117,9 +114,6 @@
// Other wireless settinfs
sRankMap.put(WirelessSettings.class.getName(), RANK_WIRELESS);
- // Home
- sRankMap.put(HomeSettings.class.getName(), RANK_HOME);
-
// Display
sRankMap.put(DisplaySettings.class.getName(), RANK_DISPLAY);
sRankMap.put(ScreenZoomSettings.class.getName(), RANK_WIFI);
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index 73784b2..08a0d0c 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -21,14 +21,12 @@
import com.android.settings.DevelopmentSettings;
import com.android.settings.DeviceInfoSettings;
import com.android.settings.DisplaySettings;
-import com.android.settings.HomeSettings;
import com.android.settings.LegalSettings;
import com.android.settings.PrivacySettings;
import com.android.settings.R;
import com.android.settings.ScreenPinningSettings;
import com.android.settings.SecuritySettings;
import com.android.settings.WallpaperTypeSettings;
-import com.android.settings.WifiCallingSettings;
import com.android.settings.WirelessSettings;
import com.android.settings.accessibility.AccessibilitySettings;
import com.android.settings.accounts.AccountSettings;
@@ -124,13 +122,6 @@
WirelessSettings.class.getName(),
R.drawable.ic_settings_more));
- sResMap.put(HomeSettings.class.getName(),
- new SearchIndexableResource(
- Ranking.getRankForClassName(HomeSettings.class.getName()),
- NO_DATA_RES_ID,
- HomeSettings.class.getName(),
- R.drawable.ic_settings_home));
-
sResMap.put(ScreenZoomSettings.class.getName(),
new SearchIndexableResource(
Ranking.getRankForClassName(ScreenZoomSettings.class.getName()),