Loading src/com/android/settings/deviceinfo/StorageCategoryFragment.java +11 −11 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ import java.util.List; */ public class StorageCategoryFragment extends DashboardFragment implements LoaderManager.LoaderCallbacks<SparseArray<StorageAsyncLoader.AppsStorageResult>>, LoaderManager.LoaderCallbacks<SparseArray<StorageAsyncLoader.StorageResult>>, Preference.OnPreferenceClickListener { private static final String TAG = "StorageCategoryFrag"; private static final String SUMMARY_PREF_KEY = "storage_summary"; Loading @@ -83,7 +83,7 @@ public class StorageCategoryFragment extends DashboardFragment private UserManager mUserManager; private StorageEntry mSelectedStorageEntry; private PrivateStorageInfo mStorageInfo; private SparseArray<StorageAsyncLoader.AppsStorageResult> mAppsResult; private SparseArray<StorageAsyncLoader.StorageResult> mAppsResult; private CachedStorageValuesHelper mCachedStorageValuesHelper; private StorageItemPreferenceController mPreferenceController; Loading Loading @@ -232,7 +232,7 @@ public class StorageCategoryFragment extends DashboardFragment * Updates the secondary user controller sizes. */ private void updateSecondaryUserControllers(List<AbstractPreferenceController> controllers, SparseArray<StorageAsyncLoader.AppsStorageResult> stats) { SparseArray<StorageAsyncLoader.StorageResult> stats) { for (int i = 0, size = controllers.size(); i < size; i++) { final AbstractPreferenceController controller = controllers.get(i); if (controller instanceof StorageAsyncLoader.ResultHandler) { Loading @@ -244,7 +244,7 @@ public class StorageCategoryFragment extends DashboardFragment } @Override public Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> onCreateLoader(int id, public Loader<SparseArray<StorageAsyncLoader.StorageResult>> onCreateLoader(int id, Bundle args) { final Context context = getContext(); return new StorageAsyncLoader(context, mUserManager, Loading @@ -254,15 +254,15 @@ public class StorageCategoryFragment extends DashboardFragment } @Override public void onLoadFinished(Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> loader, SparseArray<StorageAsyncLoader.AppsStorageResult> data) { public void onLoadFinished(Loader<SparseArray<StorageAsyncLoader.StorageResult>> loader, SparseArray<StorageAsyncLoader.StorageResult> data) { mAppsResult = data; maybeCacheFreshValues(); onReceivedSizes(); } @Override public void onLoaderReset(Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> loader) { public void onLoaderReset(Loader<SparseArray<StorageAsyncLoader.StorageResult>> loader) { } @Override Loading Loading @@ -296,20 +296,20 @@ public class StorageCategoryFragment extends DashboardFragment } @VisibleForTesting public SparseArray<StorageAsyncLoader.AppsStorageResult> getAppsStorageResult() { public SparseArray<StorageAsyncLoader.StorageResult> getStorageResult() { return mAppsResult; } @VisibleForTesting public void setAppsStorageResult(SparseArray<StorageAsyncLoader.AppsStorageResult> info) { public void setStorageResult(SparseArray<StorageAsyncLoader.StorageResult> info) { mAppsResult = info; } @VisibleForTesting void initializeCachedValues() { final PrivateStorageInfo info = mCachedStorageValuesHelper.getCachedPrivateStorageInfo(); final SparseArray<StorageAsyncLoader.AppsStorageResult> loaderResult = mCachedStorageValuesHelper.getCachedAppsStorageResult(); final SparseArray<StorageAsyncLoader.StorageResult> loaderResult = mCachedStorageValuesHelper.getCachedStorageResult(); if (info == null || loaderResult == null) { return; } Loading src/com/android/settings/deviceinfo/StorageDashboardFragment.java +11 −11 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ import java.util.List; @SearchIndexable public class StorageDashboardFragment extends DashboardFragment implements LoaderManager.LoaderCallbacks<SparseArray<StorageAsyncLoader.AppsStorageResult>>, LoaderManager.LoaderCallbacks<SparseArray<StorageAsyncLoader.StorageResult>>, Preference.OnPreferenceClickListener { private static final String TAG = "StorageDashboardFrag"; private static final String SUMMARY_PREF_KEY = "storage_summary"; Loading @@ -100,7 +100,7 @@ public class StorageDashboardFragment extends DashboardFragment private final List<StorageEntry> mStorageEntries = new ArrayList<>(); private StorageEntry mSelectedStorageEntry; private PrivateStorageInfo mStorageInfo; private SparseArray<StorageAsyncLoader.AppsStorageResult> mAppsResult; private SparseArray<StorageAsyncLoader.StorageResult> mAppsResult; private CachedStorageValuesHelper mCachedStorageValuesHelper; private StorageItemPreferenceController mPreferenceController; Loading Loading @@ -414,7 +414,7 @@ public class StorageDashboardFragment extends DashboardFragment * Updates the secondary user controller sizes. */ private void updateSecondaryUserControllers(List<AbstractPreferenceController> controllers, SparseArray<StorageAsyncLoader.AppsStorageResult> stats) { SparseArray<StorageAsyncLoader.StorageResult> stats) { for (int i = 0, size = controllers.size(); i < size; i++) { final AbstractPreferenceController controller = controllers.get(i); if (controller instanceof StorageAsyncLoader.ResultHandler) { Loading Loading @@ -455,7 +455,7 @@ public class StorageDashboardFragment extends DashboardFragment }; @Override public Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> onCreateLoader(int id, public Loader<SparseArray<StorageAsyncLoader.StorageResult>> onCreateLoader(int id, Bundle args) { final Context context = getContext(); return new StorageAsyncLoader(context, mUserManager, Loading @@ -465,15 +465,15 @@ public class StorageDashboardFragment extends DashboardFragment } @Override public void onLoadFinished(Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> loader, SparseArray<StorageAsyncLoader.AppsStorageResult> data) { public void onLoadFinished(Loader<SparseArray<StorageAsyncLoader.StorageResult>> loader, SparseArray<StorageAsyncLoader.StorageResult> data) { mAppsResult = data; maybeCacheFreshValues(); onReceivedSizes(); } @Override public void onLoaderReset(Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> loader) { public void onLoaderReset(Loader<SparseArray<StorageAsyncLoader.StorageResult>> loader) { } @Override Loading Loading @@ -507,20 +507,20 @@ public class StorageDashboardFragment extends DashboardFragment } @VisibleForTesting public SparseArray<StorageAsyncLoader.AppsStorageResult> getAppsStorageResult() { public SparseArray<StorageAsyncLoader.StorageResult> getStorageResult() { return mAppsResult; } @VisibleForTesting public void setAppsStorageResult(SparseArray<StorageAsyncLoader.AppsStorageResult> info) { public void setStorageResult(SparseArray<StorageAsyncLoader.StorageResult> info) { mAppsResult = info; } @VisibleForTesting void initializeCachedValues() { final PrivateStorageInfo info = mCachedStorageValuesHelper.getCachedPrivateStorageInfo(); final SparseArray<StorageAsyncLoader.AppsStorageResult> loaderResult = mCachedStorageValuesHelper.getCachedAppsStorageResult(); final SparseArray<StorageAsyncLoader.StorageResult> loaderResult = mCachedStorageValuesHelper.getCachedStorageResult(); if (info == null || loaderResult == null) { return; } Loading src/com/android/settings/deviceinfo/StorageItemPreference.java +9 −10 Original line number Diff line number Diff line Loading @@ -17,7 +17,8 @@ package com.android.settings.deviceinfo; import android.content.Context; import android.content.res.Resources; import android.text.TextUtils; import android.text.format.Formatter; import android.util.AttributeSet; import android.widget.ProgressBar; Loading @@ -25,7 +26,6 @@ import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.utils.FileSizeFormatter; public class StorageItemPreference extends Preference { public int userHandle; Loading @@ -49,12 +49,8 @@ public class StorageItemPreference extends Preference { public void setStorageSize(long size, long total) { mStorageSize = size; setSummary( FileSizeFormatter.formatFileSize( getContext(), size, getGigabyteSuffix(getContext().getResources()), FileSizeFormatter.GIGABYTE_IN_BYTES)); setSummary(getStorageSummary(size)); if (total == 0) { mProgressPercent = 0; } else { Loading Loading @@ -82,7 +78,10 @@ public class StorageItemPreference extends Preference { super.onBindViewHolder(view); } private static int getGigabyteSuffix(Resources res) { return res.getIdentifier("gigabyteShort", "string", "android"); private String getStorageSummary(long bytes) { final Formatter.BytesResult result = Formatter.formatBytes(getContext().getResources(), bytes, Formatter.FLAG_SHORTER); return TextUtils.expandTemplate(getContext().getText(R.string.storage_size_large), result.value, result.units).toString(); } } src/com/android/settings/deviceinfo/storage/CachedStorageValuesHelper.java +35 −24 Original line number Diff line number Diff line Loading @@ -35,9 +35,11 @@ public class CachedStorageValuesHelper { public static final String FREE_BYTES_KEY = "free_bytes"; public static final String TOTAL_BYTES_KEY = "total_bytes"; public static final String GAME_APPS_SIZE_KEY = "game_apps_size"; public static final String MUSIC_APPS_SIZE_KEY = "music_apps_size"; public static final String VIDEO_APPS_SIZE_KEY = "video_apps_size"; public static final String PHOTO_APPS_SIZE_KEY = "photo_apps_size"; public static final String AUDIO_SIZE_KEY = "audio_size"; public static final String VIDEOS_SIZE_KEY = "videos_size"; public static final String IMAGES_SIZE_KEY = "images_size"; public static final String DOCUMENTS_AND_OTHER_SIZE_KEY = "documents_and_other_size"; public static final String TRASH_SIZE_KEY = "trash_size"; public static final String OTHER_APPS_SIZE_KEY = "other_apps_size"; public static final String CACHE_APPS_SIZE_KEY = "cache_apps_size"; public static final String EXTERNAL_TOTAL_BYTES = "external_total_bytes"; Loading Loading @@ -78,21 +80,27 @@ public class CachedStorageValuesHelper { return new PrivateStorageInfo(freeBytes, totalBytes); } public SparseArray<StorageAsyncLoader.AppsStorageResult> getCachedAppsStorageResult() { /** Returns cached storage result or null if it's not available. */ public SparseArray<StorageAsyncLoader.StorageResult> getCachedStorageResult() { if (!isDataValid()) { return null; } final long gamesSize = mSharedPreferences.getLong(GAME_APPS_SIZE_KEY, -1); final long musicAppsSize = mSharedPreferences.getLong(MUSIC_APPS_SIZE_KEY, -1); final long videoAppsSize = mSharedPreferences.getLong(VIDEO_APPS_SIZE_KEY, -1); final long photoAppSize = mSharedPreferences.getLong(PHOTO_APPS_SIZE_KEY, -1); final long otherAppsSize = mSharedPreferences.getLong(OTHER_APPS_SIZE_KEY, -1); final long audioSize = mSharedPreferences.getLong(AUDIO_SIZE_KEY, -1); final long videosSize = mSharedPreferences.getLong(VIDEOS_SIZE_KEY, -1); final long imagesSize = mSharedPreferences.getLong(IMAGES_SIZE_KEY, -1); final long documentsAndOtherSize = mSharedPreferences.getLong(DOCUMENTS_AND_OTHER_SIZE_KEY, -1); final long trashSize = mSharedPreferences.getLong(TRASH_SIZE_KEY, -1); final long allAppsExceptGamesSize = mSharedPreferences.getLong(OTHER_APPS_SIZE_KEY, -1); final long cacheSize = mSharedPreferences.getLong(CACHE_APPS_SIZE_KEY, -1); if (gamesSize < 0 || musicAppsSize < 0 || videoAppsSize < 0 || photoAppSize < 0 || otherAppsSize < 0 || audioSize < 0 || videosSize < 0 || imagesSize < 0 || documentsAndOtherSize < 0 || trashSize < 0 || allAppsExceptGamesSize < 0 || cacheSize < 0) { return null; } Loading @@ -117,31 +125,34 @@ public class CachedStorageValuesHelper { externalVideoBytes, externalImageBytes, externalAppBytes); final StorageAsyncLoader.AppsStorageResult result = new StorageAsyncLoader.AppsStorageResult(); final StorageAsyncLoader.StorageResult result = new StorageAsyncLoader.StorageResult(); result.gamesSize = gamesSize; result.musicAppsSize = musicAppsSize; result.videoAppsSize = videoAppsSize; result.photosAppsSize = photoAppSize; result.otherAppsSize = otherAppsSize; result.audioSize = audioSize; result.videosSize = videosSize; result.imagesSize = imagesSize; result.documentsAndOtherSize = documentsAndOtherSize; result.trashSize = trashSize; result.allAppsExceptGamesSize = allAppsExceptGamesSize; result.cacheSize = cacheSize; result.externalStats = externalStats; final SparseArray<StorageAsyncLoader.AppsStorageResult> resultArray = new SparseArray<>(); final SparseArray<StorageAsyncLoader.StorageResult> resultArray = new SparseArray<>(); resultArray.append(mUserId, result); return resultArray; } public void cacheResult( PrivateStorageInfo storageInfo, StorageAsyncLoader.AppsStorageResult result) { PrivateStorageInfo storageInfo, StorageAsyncLoader.StorageResult result) { mSharedPreferences .edit() .putLong(FREE_BYTES_KEY, storageInfo.freeBytes) .putLong(TOTAL_BYTES_KEY, storageInfo.totalBytes) .putLong(GAME_APPS_SIZE_KEY, result.gamesSize) .putLong(MUSIC_APPS_SIZE_KEY, result.musicAppsSize) .putLong(VIDEO_APPS_SIZE_KEY, result.videoAppsSize) .putLong(PHOTO_APPS_SIZE_KEY, result.photosAppsSize) .putLong(OTHER_APPS_SIZE_KEY, result.otherAppsSize) .putLong(AUDIO_SIZE_KEY, result.audioSize) .putLong(VIDEOS_SIZE_KEY, result.videosSize) .putLong(IMAGES_SIZE_KEY, result.imagesSize) .putLong(DOCUMENTS_AND_OTHER_SIZE_KEY, result.documentsAndOtherSize) .putLong(TRASH_SIZE_KEY, result.trashSize) .putLong(OTHER_APPS_SIZE_KEY, result.allAppsExceptGamesSize) .putLong(CACHE_APPS_SIZE_KEY, result.cacheSize) .putLong(EXTERNAL_TOTAL_BYTES, result.externalStats.totalBytes) .putLong(EXTERNAL_AUDIO_BYTES, result.externalStats.audioBytes) Loading src/com/android/settings/deviceinfo/storage/SecondaryUserController.java +3 −3 Original line number Diff line number Diff line Loading @@ -168,9 +168,9 @@ public class SecondaryUserController extends AbstractPreferenceController implem mTotalSizeBytes = totalSizeBytes; } public void handleResult(SparseArray<StorageAsyncLoader.AppsStorageResult> stats) { int userId = getUser().id; StorageAsyncLoader.AppsStorageResult result = stats.get(userId); @Override public void handleResult(SparseArray<StorageAsyncLoader.StorageResult> stats) { final StorageAsyncLoader.StorageResult result = stats.get(getUser().id); if (result != null) { setSize(result.externalStats.totalBytes); } Loading Loading
src/com/android/settings/deviceinfo/StorageCategoryFragment.java +11 −11 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ import java.util.List; */ public class StorageCategoryFragment extends DashboardFragment implements LoaderManager.LoaderCallbacks<SparseArray<StorageAsyncLoader.AppsStorageResult>>, LoaderManager.LoaderCallbacks<SparseArray<StorageAsyncLoader.StorageResult>>, Preference.OnPreferenceClickListener { private static final String TAG = "StorageCategoryFrag"; private static final String SUMMARY_PREF_KEY = "storage_summary"; Loading @@ -83,7 +83,7 @@ public class StorageCategoryFragment extends DashboardFragment private UserManager mUserManager; private StorageEntry mSelectedStorageEntry; private PrivateStorageInfo mStorageInfo; private SparseArray<StorageAsyncLoader.AppsStorageResult> mAppsResult; private SparseArray<StorageAsyncLoader.StorageResult> mAppsResult; private CachedStorageValuesHelper mCachedStorageValuesHelper; private StorageItemPreferenceController mPreferenceController; Loading Loading @@ -232,7 +232,7 @@ public class StorageCategoryFragment extends DashboardFragment * Updates the secondary user controller sizes. */ private void updateSecondaryUserControllers(List<AbstractPreferenceController> controllers, SparseArray<StorageAsyncLoader.AppsStorageResult> stats) { SparseArray<StorageAsyncLoader.StorageResult> stats) { for (int i = 0, size = controllers.size(); i < size; i++) { final AbstractPreferenceController controller = controllers.get(i); if (controller instanceof StorageAsyncLoader.ResultHandler) { Loading @@ -244,7 +244,7 @@ public class StorageCategoryFragment extends DashboardFragment } @Override public Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> onCreateLoader(int id, public Loader<SparseArray<StorageAsyncLoader.StorageResult>> onCreateLoader(int id, Bundle args) { final Context context = getContext(); return new StorageAsyncLoader(context, mUserManager, Loading @@ -254,15 +254,15 @@ public class StorageCategoryFragment extends DashboardFragment } @Override public void onLoadFinished(Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> loader, SparseArray<StorageAsyncLoader.AppsStorageResult> data) { public void onLoadFinished(Loader<SparseArray<StorageAsyncLoader.StorageResult>> loader, SparseArray<StorageAsyncLoader.StorageResult> data) { mAppsResult = data; maybeCacheFreshValues(); onReceivedSizes(); } @Override public void onLoaderReset(Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> loader) { public void onLoaderReset(Loader<SparseArray<StorageAsyncLoader.StorageResult>> loader) { } @Override Loading Loading @@ -296,20 +296,20 @@ public class StorageCategoryFragment extends DashboardFragment } @VisibleForTesting public SparseArray<StorageAsyncLoader.AppsStorageResult> getAppsStorageResult() { public SparseArray<StorageAsyncLoader.StorageResult> getStorageResult() { return mAppsResult; } @VisibleForTesting public void setAppsStorageResult(SparseArray<StorageAsyncLoader.AppsStorageResult> info) { public void setStorageResult(SparseArray<StorageAsyncLoader.StorageResult> info) { mAppsResult = info; } @VisibleForTesting void initializeCachedValues() { final PrivateStorageInfo info = mCachedStorageValuesHelper.getCachedPrivateStorageInfo(); final SparseArray<StorageAsyncLoader.AppsStorageResult> loaderResult = mCachedStorageValuesHelper.getCachedAppsStorageResult(); final SparseArray<StorageAsyncLoader.StorageResult> loaderResult = mCachedStorageValuesHelper.getCachedStorageResult(); if (info == null || loaderResult == null) { return; } Loading
src/com/android/settings/deviceinfo/StorageDashboardFragment.java +11 −11 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ import java.util.List; @SearchIndexable public class StorageDashboardFragment extends DashboardFragment implements LoaderManager.LoaderCallbacks<SparseArray<StorageAsyncLoader.AppsStorageResult>>, LoaderManager.LoaderCallbacks<SparseArray<StorageAsyncLoader.StorageResult>>, Preference.OnPreferenceClickListener { private static final String TAG = "StorageDashboardFrag"; private static final String SUMMARY_PREF_KEY = "storage_summary"; Loading @@ -100,7 +100,7 @@ public class StorageDashboardFragment extends DashboardFragment private final List<StorageEntry> mStorageEntries = new ArrayList<>(); private StorageEntry mSelectedStorageEntry; private PrivateStorageInfo mStorageInfo; private SparseArray<StorageAsyncLoader.AppsStorageResult> mAppsResult; private SparseArray<StorageAsyncLoader.StorageResult> mAppsResult; private CachedStorageValuesHelper mCachedStorageValuesHelper; private StorageItemPreferenceController mPreferenceController; Loading Loading @@ -414,7 +414,7 @@ public class StorageDashboardFragment extends DashboardFragment * Updates the secondary user controller sizes. */ private void updateSecondaryUserControllers(List<AbstractPreferenceController> controllers, SparseArray<StorageAsyncLoader.AppsStorageResult> stats) { SparseArray<StorageAsyncLoader.StorageResult> stats) { for (int i = 0, size = controllers.size(); i < size; i++) { final AbstractPreferenceController controller = controllers.get(i); if (controller instanceof StorageAsyncLoader.ResultHandler) { Loading Loading @@ -455,7 +455,7 @@ public class StorageDashboardFragment extends DashboardFragment }; @Override public Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> onCreateLoader(int id, public Loader<SparseArray<StorageAsyncLoader.StorageResult>> onCreateLoader(int id, Bundle args) { final Context context = getContext(); return new StorageAsyncLoader(context, mUserManager, Loading @@ -465,15 +465,15 @@ public class StorageDashboardFragment extends DashboardFragment } @Override public void onLoadFinished(Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> loader, SparseArray<StorageAsyncLoader.AppsStorageResult> data) { public void onLoadFinished(Loader<SparseArray<StorageAsyncLoader.StorageResult>> loader, SparseArray<StorageAsyncLoader.StorageResult> data) { mAppsResult = data; maybeCacheFreshValues(); onReceivedSizes(); } @Override public void onLoaderReset(Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> loader) { public void onLoaderReset(Loader<SparseArray<StorageAsyncLoader.StorageResult>> loader) { } @Override Loading Loading @@ -507,20 +507,20 @@ public class StorageDashboardFragment extends DashboardFragment } @VisibleForTesting public SparseArray<StorageAsyncLoader.AppsStorageResult> getAppsStorageResult() { public SparseArray<StorageAsyncLoader.StorageResult> getStorageResult() { return mAppsResult; } @VisibleForTesting public void setAppsStorageResult(SparseArray<StorageAsyncLoader.AppsStorageResult> info) { public void setStorageResult(SparseArray<StorageAsyncLoader.StorageResult> info) { mAppsResult = info; } @VisibleForTesting void initializeCachedValues() { final PrivateStorageInfo info = mCachedStorageValuesHelper.getCachedPrivateStorageInfo(); final SparseArray<StorageAsyncLoader.AppsStorageResult> loaderResult = mCachedStorageValuesHelper.getCachedAppsStorageResult(); final SparseArray<StorageAsyncLoader.StorageResult> loaderResult = mCachedStorageValuesHelper.getCachedStorageResult(); if (info == null || loaderResult == null) { return; } Loading
src/com/android/settings/deviceinfo/StorageItemPreference.java +9 −10 Original line number Diff line number Diff line Loading @@ -17,7 +17,8 @@ package com.android.settings.deviceinfo; import android.content.Context; import android.content.res.Resources; import android.text.TextUtils; import android.text.format.Formatter; import android.util.AttributeSet; import android.widget.ProgressBar; Loading @@ -25,7 +26,6 @@ import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.utils.FileSizeFormatter; public class StorageItemPreference extends Preference { public int userHandle; Loading @@ -49,12 +49,8 @@ public class StorageItemPreference extends Preference { public void setStorageSize(long size, long total) { mStorageSize = size; setSummary( FileSizeFormatter.formatFileSize( getContext(), size, getGigabyteSuffix(getContext().getResources()), FileSizeFormatter.GIGABYTE_IN_BYTES)); setSummary(getStorageSummary(size)); if (total == 0) { mProgressPercent = 0; } else { Loading Loading @@ -82,7 +78,10 @@ public class StorageItemPreference extends Preference { super.onBindViewHolder(view); } private static int getGigabyteSuffix(Resources res) { return res.getIdentifier("gigabyteShort", "string", "android"); private String getStorageSummary(long bytes) { final Formatter.BytesResult result = Formatter.formatBytes(getContext().getResources(), bytes, Formatter.FLAG_SHORTER); return TextUtils.expandTemplate(getContext().getText(R.string.storage_size_large), result.value, result.units).toString(); } }
src/com/android/settings/deviceinfo/storage/CachedStorageValuesHelper.java +35 −24 Original line number Diff line number Diff line Loading @@ -35,9 +35,11 @@ public class CachedStorageValuesHelper { public static final String FREE_BYTES_KEY = "free_bytes"; public static final String TOTAL_BYTES_KEY = "total_bytes"; public static final String GAME_APPS_SIZE_KEY = "game_apps_size"; public static final String MUSIC_APPS_SIZE_KEY = "music_apps_size"; public static final String VIDEO_APPS_SIZE_KEY = "video_apps_size"; public static final String PHOTO_APPS_SIZE_KEY = "photo_apps_size"; public static final String AUDIO_SIZE_KEY = "audio_size"; public static final String VIDEOS_SIZE_KEY = "videos_size"; public static final String IMAGES_SIZE_KEY = "images_size"; public static final String DOCUMENTS_AND_OTHER_SIZE_KEY = "documents_and_other_size"; public static final String TRASH_SIZE_KEY = "trash_size"; public static final String OTHER_APPS_SIZE_KEY = "other_apps_size"; public static final String CACHE_APPS_SIZE_KEY = "cache_apps_size"; public static final String EXTERNAL_TOTAL_BYTES = "external_total_bytes"; Loading Loading @@ -78,21 +80,27 @@ public class CachedStorageValuesHelper { return new PrivateStorageInfo(freeBytes, totalBytes); } public SparseArray<StorageAsyncLoader.AppsStorageResult> getCachedAppsStorageResult() { /** Returns cached storage result or null if it's not available. */ public SparseArray<StorageAsyncLoader.StorageResult> getCachedStorageResult() { if (!isDataValid()) { return null; } final long gamesSize = mSharedPreferences.getLong(GAME_APPS_SIZE_KEY, -1); final long musicAppsSize = mSharedPreferences.getLong(MUSIC_APPS_SIZE_KEY, -1); final long videoAppsSize = mSharedPreferences.getLong(VIDEO_APPS_SIZE_KEY, -1); final long photoAppSize = mSharedPreferences.getLong(PHOTO_APPS_SIZE_KEY, -1); final long otherAppsSize = mSharedPreferences.getLong(OTHER_APPS_SIZE_KEY, -1); final long audioSize = mSharedPreferences.getLong(AUDIO_SIZE_KEY, -1); final long videosSize = mSharedPreferences.getLong(VIDEOS_SIZE_KEY, -1); final long imagesSize = mSharedPreferences.getLong(IMAGES_SIZE_KEY, -1); final long documentsAndOtherSize = mSharedPreferences.getLong(DOCUMENTS_AND_OTHER_SIZE_KEY, -1); final long trashSize = mSharedPreferences.getLong(TRASH_SIZE_KEY, -1); final long allAppsExceptGamesSize = mSharedPreferences.getLong(OTHER_APPS_SIZE_KEY, -1); final long cacheSize = mSharedPreferences.getLong(CACHE_APPS_SIZE_KEY, -1); if (gamesSize < 0 || musicAppsSize < 0 || videoAppsSize < 0 || photoAppSize < 0 || otherAppsSize < 0 || audioSize < 0 || videosSize < 0 || imagesSize < 0 || documentsAndOtherSize < 0 || trashSize < 0 || allAppsExceptGamesSize < 0 || cacheSize < 0) { return null; } Loading @@ -117,31 +125,34 @@ public class CachedStorageValuesHelper { externalVideoBytes, externalImageBytes, externalAppBytes); final StorageAsyncLoader.AppsStorageResult result = new StorageAsyncLoader.AppsStorageResult(); final StorageAsyncLoader.StorageResult result = new StorageAsyncLoader.StorageResult(); result.gamesSize = gamesSize; result.musicAppsSize = musicAppsSize; result.videoAppsSize = videoAppsSize; result.photosAppsSize = photoAppSize; result.otherAppsSize = otherAppsSize; result.audioSize = audioSize; result.videosSize = videosSize; result.imagesSize = imagesSize; result.documentsAndOtherSize = documentsAndOtherSize; result.trashSize = trashSize; result.allAppsExceptGamesSize = allAppsExceptGamesSize; result.cacheSize = cacheSize; result.externalStats = externalStats; final SparseArray<StorageAsyncLoader.AppsStorageResult> resultArray = new SparseArray<>(); final SparseArray<StorageAsyncLoader.StorageResult> resultArray = new SparseArray<>(); resultArray.append(mUserId, result); return resultArray; } public void cacheResult( PrivateStorageInfo storageInfo, StorageAsyncLoader.AppsStorageResult result) { PrivateStorageInfo storageInfo, StorageAsyncLoader.StorageResult result) { mSharedPreferences .edit() .putLong(FREE_BYTES_KEY, storageInfo.freeBytes) .putLong(TOTAL_BYTES_KEY, storageInfo.totalBytes) .putLong(GAME_APPS_SIZE_KEY, result.gamesSize) .putLong(MUSIC_APPS_SIZE_KEY, result.musicAppsSize) .putLong(VIDEO_APPS_SIZE_KEY, result.videoAppsSize) .putLong(PHOTO_APPS_SIZE_KEY, result.photosAppsSize) .putLong(OTHER_APPS_SIZE_KEY, result.otherAppsSize) .putLong(AUDIO_SIZE_KEY, result.audioSize) .putLong(VIDEOS_SIZE_KEY, result.videosSize) .putLong(IMAGES_SIZE_KEY, result.imagesSize) .putLong(DOCUMENTS_AND_OTHER_SIZE_KEY, result.documentsAndOtherSize) .putLong(TRASH_SIZE_KEY, result.trashSize) .putLong(OTHER_APPS_SIZE_KEY, result.allAppsExceptGamesSize) .putLong(CACHE_APPS_SIZE_KEY, result.cacheSize) .putLong(EXTERNAL_TOTAL_BYTES, result.externalStats.totalBytes) .putLong(EXTERNAL_AUDIO_BYTES, result.externalStats.audioBytes) Loading
src/com/android/settings/deviceinfo/storage/SecondaryUserController.java +3 −3 Original line number Diff line number Diff line Loading @@ -168,9 +168,9 @@ public class SecondaryUserController extends AbstractPreferenceController implem mTotalSizeBytes = totalSizeBytes; } public void handleResult(SparseArray<StorageAsyncLoader.AppsStorageResult> stats) { int userId = getUser().id; StorageAsyncLoader.AppsStorageResult result = stats.get(userId); @Override public void handleResult(SparseArray<StorageAsyncLoader.StorageResult> stats) { final StorageAsyncLoader.StorageResult result = stats.get(getUser().id); if (result != null) { setSize(result.externalStats.totalBytes); } Loading