Loading src/com/android/settings/dashboard/profileselector/ProfileSelectStorageFragment.java +21 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.app.Activity; import android.app.settings.SettingsEnums; import android.content.Context; import android.os.Bundle; import android.os.UserHandle; import android.os.storage.DiskInfo; import android.os.storage.StorageEventListener; import android.os.storage.StorageManager; Loading @@ -36,6 +37,7 @@ import com.android.settings.deviceinfo.StorageCategoryFragment; import com.android.settings.deviceinfo.VolumeOptionMenuController; import com.android.settings.deviceinfo.storage.AutomaticStorageManagementSwitchPreferenceController; import com.android.settings.deviceinfo.storage.DiskInitFragment; import com.android.settings.deviceinfo.storage.StorageCacheHelper; import com.android.settings.deviceinfo.storage.StorageEntry; import com.android.settings.deviceinfo.storage.StorageSelectionPreferenceController; import com.android.settings.deviceinfo.storage.StorageUsageProgressBarPreferenceController; Loading Loading @@ -71,6 +73,8 @@ public class ProfileSelectStorageFragment extends ProfileSelectFragment { private StorageSelectionPreferenceController mStorageSelectionController; private StorageUsageProgressBarPreferenceController mStorageUsageProgressBarController; private VolumeOptionMenuController mOptionMenuController; private boolean mIsLoadedFromCache; private StorageCacheHelper mStorageCacheHelper; private final StorageEventListener mStorageEventListener = new StorageEventListener() { @Override Loading Loading @@ -246,11 +250,20 @@ public class ProfileSelectStorageFragment extends ProfileSelectFragment { } initializeOptionsMenu(activity); if (mStorageCacheHelper.hasCachedSizeInfo()) { mIsLoadedFromCache = true; mStorageEntries.clear(); mStorageEntries.addAll( StorageUtils.getAllStorageEntries(getContext(), mStorageManager)); refreshUi(); } } @Override public void onAttach(Context context) { super.onAttach(context); mStorageCacheHelper = new StorageCacheHelper(getContext(), UserHandle.myUserId()); use(AutomaticStorageManagementSwitchPreferenceController.class).setFragmentManager( getFragmentManager()); mStorageSelectionController = use(StorageSelectionPreferenceController.class); Loading Loading @@ -281,9 +294,14 @@ public class ProfileSelectStorageFragment extends ProfileSelectFragment { public void onResume() { super.onResume(); if (mIsLoadedFromCache) { mIsLoadedFromCache = false; } else { mStorageEntries.clear(); mStorageEntries.addAll(StorageUtils.getAllStorageEntries(getContext(), mStorageManager)); mStorageEntries.addAll( StorageUtils.getAllStorageEntries(getContext(), mStorageManager)); refreshUi(); } mStorageManager.registerListener(mStorageEventListener); } Loading src/com/android/settings/deviceinfo/StorageCategoryFragment.java +45 −7 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.profileselector.ProfileSelectFragment; import com.android.settings.deviceinfo.storage.SecondaryUserController; import com.android.settings.deviceinfo.storage.StorageAsyncLoader; import com.android.settings.deviceinfo.storage.StorageCacheHelper; import com.android.settings.deviceinfo.storage.StorageEntry; import com.android.settings.deviceinfo.storage.StorageItemPreferenceController; import com.android.settings.deviceinfo.storage.UserIconLoader; Loading Loading @@ -90,6 +91,8 @@ public class StorageCategoryFragment extends DashboardFragment private boolean mIsWorkProfile; private int mUserId; private Preference mFreeUpSpacePreference; private boolean mIsLoadedFromCache; private StorageCacheHelper mStorageCacheHelper; /** * Refresh UI for specified storageEntry. Loading @@ -111,14 +114,23 @@ public class StorageCategoryFragment extends DashboardFragment mPreferenceController.setVolume(null); return; } if (mStorageCacheHelper.hasCachedSizeInfo() && mSelectedStorageEntry.isPrivate()) { StorageCacheHelper.StorageCache cachedData = mStorageCacheHelper.retrieveCachedSize(); mPreferenceController.setVolume(mSelectedStorageEntry.getVolumeInfo()); mPreferenceController.setUsedSize(cachedData.usedSize); mPreferenceController.setTotalSize(cachedData.totalSize); } if (mSelectedStorageEntry.isPrivate()) { mStorageInfo = null; mAppsResult = null; if (mStorageCacheHelper.hasCachedSizeInfo()) { mPreferenceController.onLoadFinished(mAppsResult, mUserId); } else { maybeSetLoading(isQuotaSupported()); // To prevent flicker, sets null volume to hide category preferences. // onReceivedSizes will setVolume with the volume of selected storage. mPreferenceController.setVolume(null); } // Stats data is only available on private volumes. getLoaderManager().restartLoader(STORAGE_JOB_ID, Bundle.EMPTY, this); Loading @@ -141,6 +153,15 @@ public class StorageCategoryFragment extends DashboardFragment } initializePreference(); if (mStorageCacheHelper.hasCachedSizeInfo()) { mIsLoadedFromCache = true; if (mSelectedStorageEntry != null) { refreshUi(mSelectedStorageEntry); } updateSecondaryUserControllers(mSecondaryUsers, mAppsResult); setSecondaryUsersVisible(true); } } private void initializePreference() { Loading @@ -156,6 +177,7 @@ public class StorageCategoryFragment extends DashboardFragment mIsWorkProfile = getArguments().getInt(ProfileSelectFragment.EXTRA_PROFILE) == ProfileSelectFragment.ProfileType.WORK; mUserId = Utils.getCurrentUserId(mUserManager, mIsWorkProfile); mStorageCacheHelper = new StorageCacheHelper(getContext(), mUserId); super.onAttach(context); } Loading @@ -164,10 +186,24 @@ public class StorageCategoryFragment extends DashboardFragment public void onResume() { super.onResume(); if (mIsLoadedFromCache) { mIsLoadedFromCache = false; } else { if (mSelectedStorageEntry != null) { refreshUi(mSelectedStorageEntry); } } } @Override public void onPause() { super.onPause(); // Destroy the data loaders to prevent unnecessary data loading when switching back to the // page. getLoaderManager().destroyLoader(STORAGE_JOB_ID); getLoaderManager().destroyLoader(ICON_JOB_ID); getLoaderManager().destroyLoader(VOLUME_SIZE_JOB_ID); } @Override public void onSaveInstanceState(Bundle outState) { Loading @@ -188,6 +224,8 @@ public class StorageCategoryFragment extends DashboardFragment mPreferenceController.setVolume(mSelectedStorageEntry.getVolumeInfo()); mPreferenceController.setUsedSize(privateUsedBytes); mPreferenceController.setTotalSize(mStorageInfo.totalBytes); // Cache total size infor and used size info mStorageCacheHelper.cacheTotalSizeAndUsedSize(mStorageInfo.totalBytes, privateUsedBytes); for (int i = 0, size = mSecondaryUsers.size(); i < size; i++) { final AbstractPreferenceController controller = mSecondaryUsers.get(i); if (controller instanceof SecondaryUserController) { Loading Loading
src/com/android/settings/dashboard/profileselector/ProfileSelectStorageFragment.java +21 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.app.Activity; import android.app.settings.SettingsEnums; import android.content.Context; import android.os.Bundle; import android.os.UserHandle; import android.os.storage.DiskInfo; import android.os.storage.StorageEventListener; import android.os.storage.StorageManager; Loading @@ -36,6 +37,7 @@ import com.android.settings.deviceinfo.StorageCategoryFragment; import com.android.settings.deviceinfo.VolumeOptionMenuController; import com.android.settings.deviceinfo.storage.AutomaticStorageManagementSwitchPreferenceController; import com.android.settings.deviceinfo.storage.DiskInitFragment; import com.android.settings.deviceinfo.storage.StorageCacheHelper; import com.android.settings.deviceinfo.storage.StorageEntry; import com.android.settings.deviceinfo.storage.StorageSelectionPreferenceController; import com.android.settings.deviceinfo.storage.StorageUsageProgressBarPreferenceController; Loading Loading @@ -71,6 +73,8 @@ public class ProfileSelectStorageFragment extends ProfileSelectFragment { private StorageSelectionPreferenceController mStorageSelectionController; private StorageUsageProgressBarPreferenceController mStorageUsageProgressBarController; private VolumeOptionMenuController mOptionMenuController; private boolean mIsLoadedFromCache; private StorageCacheHelper mStorageCacheHelper; private final StorageEventListener mStorageEventListener = new StorageEventListener() { @Override Loading Loading @@ -246,11 +250,20 @@ public class ProfileSelectStorageFragment extends ProfileSelectFragment { } initializeOptionsMenu(activity); if (mStorageCacheHelper.hasCachedSizeInfo()) { mIsLoadedFromCache = true; mStorageEntries.clear(); mStorageEntries.addAll( StorageUtils.getAllStorageEntries(getContext(), mStorageManager)); refreshUi(); } } @Override public void onAttach(Context context) { super.onAttach(context); mStorageCacheHelper = new StorageCacheHelper(getContext(), UserHandle.myUserId()); use(AutomaticStorageManagementSwitchPreferenceController.class).setFragmentManager( getFragmentManager()); mStorageSelectionController = use(StorageSelectionPreferenceController.class); Loading Loading @@ -281,9 +294,14 @@ public class ProfileSelectStorageFragment extends ProfileSelectFragment { public void onResume() { super.onResume(); if (mIsLoadedFromCache) { mIsLoadedFromCache = false; } else { mStorageEntries.clear(); mStorageEntries.addAll(StorageUtils.getAllStorageEntries(getContext(), mStorageManager)); mStorageEntries.addAll( StorageUtils.getAllStorageEntries(getContext(), mStorageManager)); refreshUi(); } mStorageManager.registerListener(mStorageEventListener); } Loading
src/com/android/settings/deviceinfo/StorageCategoryFragment.java +45 −7 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.profileselector.ProfileSelectFragment; import com.android.settings.deviceinfo.storage.SecondaryUserController; import com.android.settings.deviceinfo.storage.StorageAsyncLoader; import com.android.settings.deviceinfo.storage.StorageCacheHelper; import com.android.settings.deviceinfo.storage.StorageEntry; import com.android.settings.deviceinfo.storage.StorageItemPreferenceController; import com.android.settings.deviceinfo.storage.UserIconLoader; Loading Loading @@ -90,6 +91,8 @@ public class StorageCategoryFragment extends DashboardFragment private boolean mIsWorkProfile; private int mUserId; private Preference mFreeUpSpacePreference; private boolean mIsLoadedFromCache; private StorageCacheHelper mStorageCacheHelper; /** * Refresh UI for specified storageEntry. Loading @@ -111,14 +114,23 @@ public class StorageCategoryFragment extends DashboardFragment mPreferenceController.setVolume(null); return; } if (mStorageCacheHelper.hasCachedSizeInfo() && mSelectedStorageEntry.isPrivate()) { StorageCacheHelper.StorageCache cachedData = mStorageCacheHelper.retrieveCachedSize(); mPreferenceController.setVolume(mSelectedStorageEntry.getVolumeInfo()); mPreferenceController.setUsedSize(cachedData.usedSize); mPreferenceController.setTotalSize(cachedData.totalSize); } if (mSelectedStorageEntry.isPrivate()) { mStorageInfo = null; mAppsResult = null; if (mStorageCacheHelper.hasCachedSizeInfo()) { mPreferenceController.onLoadFinished(mAppsResult, mUserId); } else { maybeSetLoading(isQuotaSupported()); // To prevent flicker, sets null volume to hide category preferences. // onReceivedSizes will setVolume with the volume of selected storage. mPreferenceController.setVolume(null); } // Stats data is only available on private volumes. getLoaderManager().restartLoader(STORAGE_JOB_ID, Bundle.EMPTY, this); Loading @@ -141,6 +153,15 @@ public class StorageCategoryFragment extends DashboardFragment } initializePreference(); if (mStorageCacheHelper.hasCachedSizeInfo()) { mIsLoadedFromCache = true; if (mSelectedStorageEntry != null) { refreshUi(mSelectedStorageEntry); } updateSecondaryUserControllers(mSecondaryUsers, mAppsResult); setSecondaryUsersVisible(true); } } private void initializePreference() { Loading @@ -156,6 +177,7 @@ public class StorageCategoryFragment extends DashboardFragment mIsWorkProfile = getArguments().getInt(ProfileSelectFragment.EXTRA_PROFILE) == ProfileSelectFragment.ProfileType.WORK; mUserId = Utils.getCurrentUserId(mUserManager, mIsWorkProfile); mStorageCacheHelper = new StorageCacheHelper(getContext(), mUserId); super.onAttach(context); } Loading @@ -164,10 +186,24 @@ public class StorageCategoryFragment extends DashboardFragment public void onResume() { super.onResume(); if (mIsLoadedFromCache) { mIsLoadedFromCache = false; } else { if (mSelectedStorageEntry != null) { refreshUi(mSelectedStorageEntry); } } } @Override public void onPause() { super.onPause(); // Destroy the data loaders to prevent unnecessary data loading when switching back to the // page. getLoaderManager().destroyLoader(STORAGE_JOB_ID); getLoaderManager().destroyLoader(ICON_JOB_ID); getLoaderManager().destroyLoader(VOLUME_SIZE_JOB_ID); } @Override public void onSaveInstanceState(Bundle outState) { Loading @@ -188,6 +224,8 @@ public class StorageCategoryFragment extends DashboardFragment mPreferenceController.setVolume(mSelectedStorageEntry.getVolumeInfo()); mPreferenceController.setUsedSize(privateUsedBytes); mPreferenceController.setTotalSize(mStorageInfo.totalBytes); // Cache total size infor and used size info mStorageCacheHelper.cacheTotalSizeAndUsedSize(mStorageInfo.totalBytes, privateUsedBytes); for (int i = 0, size = mSecondaryUsers.size(); i < size; i++) { final AbstractPreferenceController controller = mSecondaryUsers.get(i); if (controller instanceof SecondaryUserController) { Loading