Loading src/com/android/settings/deviceinfo/StorageMeasurement.java +28 −15 Original line number Diff line number Diff line Loading @@ -96,6 +96,9 @@ public class StorageMeasurement { } public static class MeasurementDetails { public long totalSize; public long availSize; /** * Total apps disk usage. * <p> Loading @@ -110,6 +113,11 @@ public class StorageMeasurement { */ public long appsSize; /** * Total cache disk usage by apps. */ public long cacheSize; /** * Total media disk usage, categorized by types such as * {@link Environment#DIRECTORY_MUSIC}. Loading Loading @@ -237,34 +245,36 @@ public class StorageMeasurement { } private void addStatsLocked(PackageStats stats) { final long externalSize = stats.externalCodeSize + stats.externalDataSize + stats.externalCacheSize + stats.externalMediaSize; if (mIsInternal) { final long codeSize; final long dataSize; long codeSize = stats.codeSize; long dataSize = stats.dataSize; long cacheSize = stats.cacheSize; if (Environment.isExternalStorageEmulated()) { // OBB is shared on emulated storage, so count once as code, // and data includes emulated storage. codeSize = stats.codeSize + stats.externalObbSize; dataSize = stats.dataSize + externalSize; } else { codeSize = stats.codeSize; dataSize = stats.dataSize; // Include emulated storage when measuring internal. OBB is // shared on emulated storage, so treat as code. codeSize += stats.externalCodeSize + stats.externalObbSize; dataSize += stats.externalDataSize + stats.externalMediaSize; cacheSize += stats.externalCacheSize; } // Include code and combined data for current user // Count code and data for current user if (stats.userHandle == mCurrentUser) { mDetails.appsSize += codeSize; mDetails.appsSize += dataSize; } // Include combined data for user summary // User summary only includes data (code is only counted once // for the current user) addValue(mDetails.usersSize, stats.userHandle, dataSize); // Include cache for all users mDetails.cacheSize += cacheSize; } else { // Physical storage; only count external sizes mDetails.appsSize += externalSize + stats.externalObbSize; mDetails.appsSize += stats.externalCodeSize + stats.externalDataSize + stats.externalMediaSize + stats.externalObbSize; mDetails.cacheSize += stats.externalCacheSize; } } } Loading Loading @@ -389,6 +399,9 @@ public class StorageMeasurement { final MeasurementDetails details = new MeasurementDetails(); final Message finished = obtainMessage(MSG_COMPLETED, details); details.totalSize = mTotalSize; details.availSize = mAvailSize; final UserManager userManager = (UserManager) context.getSystemService( Context.USER_SERVICE); final List<UserInfo> users = userManager.getUsers(); Loading src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java +5 −1 Original line number Diff line number Diff line Loading @@ -312,6 +312,10 @@ public class StorageVolumePreferenceCategory extends PreferenceCategory { final boolean showDetails = mVolume == null || mVolume.isPrimary(); if (!showDetails) return; // Count caches as available space, since system manages them mItemTotal.setSummary(formatSize(details.totalSize)); mItemAvailable.setSummary(formatSize(details.availSize + details.cacheSize)); mUsageBarPreference.clear(); updatePreference(mItemApps, details.appsSize); Loading @@ -326,7 +330,7 @@ public class StorageVolumePreferenceCategory extends PreferenceCategory { updatePreference(mItemMusic, musicSize); final long downloadsSize = totalValues(details.mediaSize, Environment.DIRECTORY_DOWNLOADS); updatePreference(mItemDownloads, musicSize); updatePreference(mItemDownloads, downloadsSize); updatePreference(mItemMisc, details.miscSize); Loading Loading
src/com/android/settings/deviceinfo/StorageMeasurement.java +28 −15 Original line number Diff line number Diff line Loading @@ -96,6 +96,9 @@ public class StorageMeasurement { } public static class MeasurementDetails { public long totalSize; public long availSize; /** * Total apps disk usage. * <p> Loading @@ -110,6 +113,11 @@ public class StorageMeasurement { */ public long appsSize; /** * Total cache disk usage by apps. */ public long cacheSize; /** * Total media disk usage, categorized by types such as * {@link Environment#DIRECTORY_MUSIC}. Loading Loading @@ -237,34 +245,36 @@ public class StorageMeasurement { } private void addStatsLocked(PackageStats stats) { final long externalSize = stats.externalCodeSize + stats.externalDataSize + stats.externalCacheSize + stats.externalMediaSize; if (mIsInternal) { final long codeSize; final long dataSize; long codeSize = stats.codeSize; long dataSize = stats.dataSize; long cacheSize = stats.cacheSize; if (Environment.isExternalStorageEmulated()) { // OBB is shared on emulated storage, so count once as code, // and data includes emulated storage. codeSize = stats.codeSize + stats.externalObbSize; dataSize = stats.dataSize + externalSize; } else { codeSize = stats.codeSize; dataSize = stats.dataSize; // Include emulated storage when measuring internal. OBB is // shared on emulated storage, so treat as code. codeSize += stats.externalCodeSize + stats.externalObbSize; dataSize += stats.externalDataSize + stats.externalMediaSize; cacheSize += stats.externalCacheSize; } // Include code and combined data for current user // Count code and data for current user if (stats.userHandle == mCurrentUser) { mDetails.appsSize += codeSize; mDetails.appsSize += dataSize; } // Include combined data for user summary // User summary only includes data (code is only counted once // for the current user) addValue(mDetails.usersSize, stats.userHandle, dataSize); // Include cache for all users mDetails.cacheSize += cacheSize; } else { // Physical storage; only count external sizes mDetails.appsSize += externalSize + stats.externalObbSize; mDetails.appsSize += stats.externalCodeSize + stats.externalDataSize + stats.externalMediaSize + stats.externalObbSize; mDetails.cacheSize += stats.externalCacheSize; } } } Loading Loading @@ -389,6 +399,9 @@ public class StorageMeasurement { final MeasurementDetails details = new MeasurementDetails(); final Message finished = obtainMessage(MSG_COMPLETED, details); details.totalSize = mTotalSize; details.availSize = mAvailSize; final UserManager userManager = (UserManager) context.getSystemService( Context.USER_SERVICE); final List<UserInfo> users = userManager.getUsers(); Loading
src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java +5 −1 Original line number Diff line number Diff line Loading @@ -312,6 +312,10 @@ public class StorageVolumePreferenceCategory extends PreferenceCategory { final boolean showDetails = mVolume == null || mVolume.isPrimary(); if (!showDetails) return; // Count caches as available space, since system manages them mItemTotal.setSummary(formatSize(details.totalSize)); mItemAvailable.setSummary(formatSize(details.availSize + details.cacheSize)); mUsageBarPreference.clear(); updatePreference(mItemApps, details.appsSize); Loading @@ -326,7 +330,7 @@ public class StorageVolumePreferenceCategory extends PreferenceCategory { updatePreference(mItemMusic, musicSize); final long downloadsSize = totalValues(details.mediaSize, Environment.DIRECTORY_DOWNLOADS); updatePreference(mItemDownloads, musicSize); updatePreference(mItemDownloads, downloadsSize); updatePreference(mItemMisc, details.miscSize); Loading