Add indexing for Storage preferences
- implement the contract for SEARCH_INDEX_DATA_PROVIDER Change-Id: I131e9176c47ccd697d05961b09546ba0e51059f7
This commit is contained in:
@@ -41,6 +41,7 @@ import android.os.storage.StorageManager;
|
|||||||
import android.os.storage.StorageVolume;
|
import android.os.storage.StorageVolume;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceScreen;
|
import android.preference.PreferenceScreen;
|
||||||
|
import android.provider.SearchIndexableResource;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@@ -51,6 +52,8 @@ import com.android.settings.R;
|
|||||||
import com.android.settings.SettingsActivity;
|
import com.android.settings.SettingsActivity;
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
|
import com.android.settings.search.Indexable;
|
||||||
|
import com.android.settings.search.SearchIndexableRaw;
|
||||||
import com.google.android.collect.Lists;
|
import com.google.android.collect.Lists;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -60,7 +63,7 @@ import java.util.List;
|
|||||||
* Panel showing storage usage on disk for known {@link StorageVolume} returned
|
* Panel showing storage usage on disk for known {@link StorageVolume} returned
|
||||||
* by {@link StorageManager}. Calculates and displays usage of data types.
|
* by {@link StorageManager}. Calculates and displays usage of data types.
|
||||||
*/
|
*/
|
||||||
public class Memory extends SettingsPreferenceFragment {
|
public class Memory extends SettingsPreferenceFragment implements Indexable{
|
||||||
private static final String TAG = "MemorySettings";
|
private static final String TAG = "MemorySettings";
|
||||||
|
|
||||||
private static final String TAG_CONFIRM_CLEAR_CACHE = "confirmClearCache";
|
private static final String TAG_CONFIRM_CLEAR_CACHE = "confirmClearCache";
|
||||||
@@ -424,4 +427,85 @@ public class Memory extends SettingsPreferenceFragment {
|
|||||||
return builder.create();
|
return builder.create();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable indexing of searchable data
|
||||||
|
*/
|
||||||
|
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||||
|
new SearchIndexProvider() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SearchIndexableResource> getXmlResourcesToIndex(
|
||||||
|
Context context, boolean enabled) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
|
||||||
|
final List<SearchIndexableRaw> result = new ArrayList<SearchIndexableRaw>();
|
||||||
|
|
||||||
|
SearchIndexableRaw data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.storage_settings);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.internal_storage);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
final StorageVolume[] storageVolumes = StorageManager.from(context).getVolumeList();
|
||||||
|
for (StorageVolume volume : storageVolumes) {
|
||||||
|
if (!volume.isEmulated()) {
|
||||||
|
data.title = volume.getDescription(context);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.memory_size);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.memory_available);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.memory_apps_usage);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.memory_dcim_usage);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.memory_music_usage);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.memory_downloads_usage);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.memory_media_cache_usage);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
data = new SearchIndexableRaw(context);
|
||||||
|
data.title = context.getString(R.string.memory_media_misc_usage);
|
||||||
|
data.screenTitle = context.getString(R.string.storage_settings);
|
||||||
|
result.add(data);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -22,7 +22,6 @@ import com.android.settings.DevelopmentSettings;
|
|||||||
import com.android.settings.DeviceInfoSettings;
|
import com.android.settings.DeviceInfoSettings;
|
||||||
import com.android.settings.DisplaySettings;
|
import com.android.settings.DisplaySettings;
|
||||||
import com.android.settings.HomeSettings;
|
import com.android.settings.HomeSettings;
|
||||||
import com.android.settings.NotificationAccessSettings;
|
|
||||||
import com.android.settings.NotificationSettings;
|
import com.android.settings.NotificationSettings;
|
||||||
import com.android.settings.PrivacySettings;
|
import com.android.settings.PrivacySettings;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -44,7 +43,6 @@ import com.android.settings.wifi.WifiSettings;
|
|||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
|
||||||
|
|
||||||
public final class SearchIndexableResources {
|
public final class SearchIndexableResources {
|
||||||
|
|
||||||
@@ -139,7 +137,7 @@ public final class SearchIndexableResources {
|
|||||||
|
|
||||||
sResMap.put(Memory.class.getName(),
|
sResMap.put(Memory.class.getName(),
|
||||||
new SearchIndexableResource(RANK_MEMORY,
|
new SearchIndexableResource(RANK_MEMORY,
|
||||||
R.xml.device_info_memory,
|
NO_DATA_RES_ID,
|
||||||
Memory.class.getName(),
|
Memory.class.getName(),
|
||||||
R.drawable.ic_settings_storage));
|
R.drawable.ic_settings_storage));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user