Fix up storage UI for old USB storage.

- In the storage overview, if storage is not emulated then we have a
new first section showing internal storage.
- In manage applications, we know show storage use on the SD card
separately from internal storage use.

Change-Id: I7eb993f59fdb5de5f5dcfe4a3bc2b95ae30d754a
This commit is contained in:
Dianne Hackborn
2011-06-28 14:51:12 -07:00
parent d1669eac43
commit bd9ddab4f4
8 changed files with 160 additions and 35 deletions

View File

@@ -60,6 +60,7 @@ public class Memory extends SettingsPreferenceFragment {
private StorageManager mStorageManager = null;
private StorageVolumePreferenceCategory mInternalStorageVolumePreferenceCategory;
private StorageVolumePreferenceCategory[] mStorageVolumePreferenceCategories;
@Override
@@ -75,6 +76,17 @@ public class Memory extends SettingsPreferenceFragment {
mResources = getResources();
if (!Environment.isExternalStorageEmulated()) {
// External storage is separate from internal storage; need to
// show internal storage as a separate item.
StorageVolumePreferenceCategory storagePreferenceCategory =
new StorageVolumePreferenceCategory(getActivity(), mResources, null,
mStorageManager, true);
mInternalStorageVolumePreferenceCategory = storagePreferenceCategory;
getPreferenceScreen().addPreference(storagePreferenceCategory);
storagePreferenceCategory.init();
}
StorageVolume[] storageVolumes = mStorageManager.getVolumeList();
int length = storageVolumes.length;
mStorageVolumePreferenceCategories = new StorageVolumePreferenceCategory[length];
@@ -97,6 +109,7 @@ public class Memory extends SettingsPreferenceFragment {
intentFilter.addDataScheme("file");
getActivity().registerReceiver(mMediaScannerReceiver, intentFilter);
mInternalStorageVolumePreferenceCategory.onResume();
for (int i = 0; i < mStorageVolumePreferenceCategories.length; i++) {
mStorageVolumePreferenceCategories[i].onResume();
}
@@ -122,6 +135,7 @@ public class Memory extends SettingsPreferenceFragment {
public void onPause() {
super.onPause();
getActivity().unregisterReceiver(mMediaScannerReceiver);
mInternalStorageVolumePreferenceCategory.onPause();
for (int i = 0; i < mStorageVolumePreferenceCategories.length; i++) {
mStorageVolumePreferenceCategories[i].onPause();
}