Fix home search

- Remove old home from search
 - Fix weird threading problem on new home search indexing

Bug: 27249674
Change-Id: I3cfdde7dd3595f5161b5f8c861041c40e800c7bd
This commit is contained in:
Jason Monk
2016-03-03 11:21:42 -05:00
parent a2d47fcf59
commit 9ee80cd148
3 changed files with 32 additions and 37 deletions

View File

@@ -48,6 +48,8 @@ import android.net.LinkProperties;
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 final class Utils extends com.android.settingslib.Utils {
}
public static List<String> getNonIndexable(int xml, Context context) {
List<String> ret = new ArrayList<>();
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;
}

View File

@@ -21,13 +21,11 @@ import com.android.settings.DateTimeSettings;
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 final class Ranking {
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 @@ public final class Ranking {
// 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);

View File

@@ -21,14 +21,12 @@ import com.android.settings.DateTimeSettings;
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 @@ public final class SearchIndexableResources {
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()),