Allow partial Index rebuilding thru updateFromClassNameResource(...)
- add a new boolean parameter to ask for Index rebuilding: passing "true" will delete first all the data corresponding to the "className" and then apply the update. Change-Id: Ifc42fc560a14f5470b466cf6982915d9207fa3c7
This commit is contained in:
@@ -166,6 +166,6 @@ public final class BluetoothEnabler implements CompoundButton.OnCheckedChangeLis
|
|||||||
|
|
||||||
private void updateSearchIndex(boolean isBluetoothOn) {
|
private void updateSearchIndex(boolean isBluetoothOn) {
|
||||||
Index.getInstance(mContext).updateFromClassNameResource(
|
Index.getInstance(mContext).updateFromClassNameResource(
|
||||||
BluetoothSettings.class.getName(), isBluetoothOn);
|
BluetoothSettings.class.getName(), false, isBluetoothOn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -362,7 +362,17 @@ public class Index {
|
|||||||
return updateInternal();
|
return updateInternal();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateFromClassNameResource(String className, boolean includeInSearchResults) {
|
/**
|
||||||
|
* Update the Index for a specific class name resources
|
||||||
|
*
|
||||||
|
* @param className the class name (typically a fragment name).
|
||||||
|
* @param rebuild true means that you want to delete the data from the Index first.
|
||||||
|
* @param includeInSearchResults true means that you want the bit "enabled" set so that the
|
||||||
|
* data will be seen included into the search results
|
||||||
|
* @return true of the Index update has been successful.
|
||||||
|
*/
|
||||||
|
public boolean updateFromClassNameResource(String className, boolean rebuild,
|
||||||
|
boolean includeInSearchResults) {
|
||||||
if (className == null) {
|
if (className == null) {
|
||||||
throw new IllegalArgumentException("class name cannot be null!");
|
throw new IllegalArgumentException("class name cannot be null!");
|
||||||
}
|
}
|
||||||
@@ -372,6 +382,9 @@ public class Index {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
res.enabled = includeInSearchResults;
|
res.enabled = includeInSearchResults;
|
||||||
|
if (rebuild) {
|
||||||
|
deleteIndexableData(res);
|
||||||
|
}
|
||||||
addIndexableData(res);
|
addIndexableData(res);
|
||||||
mDataToProcess.forceUpdate = true;
|
mDataToProcess.forceUpdate = true;
|
||||||
boolean result = updateInternal();
|
boolean result = updateInternal();
|
||||||
@@ -1029,13 +1042,13 @@ public class Index {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
database.beginTransaction();
|
database.beginTransaction();
|
||||||
|
if (dataToDelete.size() > 0) {
|
||||||
|
processDataToDelete(database, localeStr, dataToDelete);
|
||||||
|
}
|
||||||
if (dataToUpdate.size() > 0) {
|
if (dataToUpdate.size() > 0) {
|
||||||
processDataToUpdate(database, localeStr, dataToUpdate, nonIndexableKeys,
|
processDataToUpdate(database, localeStr, dataToUpdate, nonIndexableKeys,
|
||||||
forceUpdate);
|
forceUpdate);
|
||||||
}
|
}
|
||||||
if (dataToDelete.size() > 0) {
|
|
||||||
processDataToDelete(database, localeStr, dataToDelete);
|
|
||||||
}
|
|
||||||
database.setTransactionSuccessful();
|
database.setTransactionSuccessful();
|
||||||
result = true;
|
result = true;
|
||||||
} finally {
|
} finally {
|
||||||
|
@@ -20,12 +20,10 @@ import android.content.BroadcastReceiver;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.database.ContentObserver;
|
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
import android.net.wifi.SupplicantState;
|
import android.net.wifi.SupplicantState;
|
||||||
import android.net.wifi.WifiInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
import android.os.UserHandle;
|
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.widget.CompoundButton;
|
import android.widget.CompoundButton;
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
@@ -157,7 +155,7 @@ public class WifiEnabler implements CompoundButton.OnCheckedChangeListener {
|
|||||||
|
|
||||||
private void updateSearchIndex(boolean isWiFiOn) {
|
private void updateSearchIndex(boolean isWiFiOn) {
|
||||||
Index.getInstance(mContext).updateFromClassNameResource(
|
Index.getInstance(mContext).updateFromClassNameResource(
|
||||||
WifiSettings.class.getName(), isWiFiOn);
|
WifiSettings.class.getName(), false, isWiFiOn);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setSwitchChecked(boolean checked) {
|
private void setSwitchChecked(boolean checked) {
|
||||||
|
Reference in New Issue
Block a user