Correct used size of Storage Settings. am: e52320e755

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23483884

Change-Id: I4816569a8c5bee277121f15397adf7167ec944e0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Edgar Wang
2023-06-27 08:35:31 +00:00
committed by Automerger Merge Worker
5 changed files with 28 additions and 6 deletions

View File

@@ -63,6 +63,7 @@ import android.os.BatteryManager;
import android.os.Binder; import android.os.Binder;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Environment;
import android.os.IBinder; import android.os.IBinder;
import android.os.INetworkManagementService; import android.os.INetworkManagementService;
import android.os.RemoteException; import android.os.RemoteException;
@@ -97,7 +98,6 @@ import android.widget.TabWidget;
import androidx.annotation.ColorInt; import androidx.annotation.ColorInt;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.core.graphics.drawable.IconCompat; import androidx.core.graphics.drawable.IconCompat;
import androidx.core.graphics.drawable.RoundedBitmapDrawable; import androidx.core.graphics.drawable.RoundedBitmapDrawable;
@@ -1309,4 +1309,15 @@ public final class Utils extends com.android.settingslib.Utils {
com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser); com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser);
return dreamsSupported && (!dreamsOnlyEnabledForDockUser || canCurrentUserDream(context)); return dreamsSupported && (!dreamsOnlyEnabledForDockUser || canCurrentUserDream(context));
} }
/**
* Get private total size directly.
* Referred from StorageManager
*/
public static long getPrimaryStorageSize() {
// TODO(b/288103116): remove this method once support by StorageManager.
return Environment.getDataDirectory().getTotalSpace()
+ Environment.getRootDirectory().getTotalSpace();
}
} }

View File

@@ -211,7 +211,9 @@ public class StorageCategoryFragment extends DashboardFragment
setLoading(false /* loading */, false /* animate */); setLoading(false /* loading */, false /* animate */);
final long privateUsedBytes = mStorageInfo.totalBytes - mStorageInfo.freeBytes; // TODO(b/288103116): replace with new API to get TotalBytes before rounding
// once support by StorageManager.
final long privateUsedBytes = Utils.getPrimaryStorageSize() - mStorageInfo.freeBytes;
mPreferenceController.setVolume(mSelectedStorageEntry.getVolumeInfo()); mPreferenceController.setVolume(mSelectedStorageEntry.getVolumeInfo());
mPreferenceController.setUsedSize(privateUsedBytes); mPreferenceController.setUsedSize(privateUsedBytes);
mPreferenceController.setTotalSize(mStorageInfo.totalBytes); mPreferenceController.setTotalSize(mStorageInfo.totalBytes);

View File

@@ -387,7 +387,9 @@ public class StorageDashboardFragment extends DashboardFragment
setLoading(false /* loading */, false /* animate */); setLoading(false /* loading */, false /* animate */);
final long privateUsedBytes = mStorageInfo.totalBytes - mStorageInfo.freeBytes; // TODO(b/288103116): replace with new API to get TotalBytes before rounding
// once support by StorageManager.
final long privateUsedBytes = Utils.getPrimaryStorageSize() - mStorageInfo.freeBytes;
mPreferenceController.setVolume(mSelectedStorageEntry.getVolumeInfo()); mPreferenceController.setVolume(mSelectedStorageEntry.getVolumeInfo());
mPreferenceController.setUsedSize(privateUsedBytes); mPreferenceController.setUsedSize(privateUsedBytes);
mPreferenceController.setTotalSize(mStorageInfo.totalBytes); mPreferenceController.setTotalSize(mStorageInfo.totalBytes);

View File

@@ -74,10 +74,14 @@ public class TopLevelStoragePreferenceController extends BasePreferenceControlle
return ThreadUtils.postOnBackgroundThread(() -> { return ThreadUtils.postOnBackgroundThread(() -> {
final PrivateStorageInfo info = PrivateStorageInfo.getPrivateStorageInfo( final PrivateStorageInfo info = PrivateStorageInfo.getPrivateStorageInfo(
getStorageManagerVolumeProvider()); getStorageManagerVolumeProvider());
storageCacheHelper.cacheUsedSize(info.totalBytes - info.freeBytes);
// TODO(b/288103116): replace with new API to get TotalBytes before rounding
// once support by StorageManager.
long usedBytes = Utils.getPrimaryStorageSize() - info.freeBytes;
storageCacheHelper.cacheUsedSize(usedBytes);
ThreadUtils.postOnMainThread(() -> { ThreadUtils.postOnMainThread(() -> {
preference.setSummary( preference.setSummary(
getSummary(info.totalBytes - info.freeBytes, info.totalBytes)); getSummary(usedBytes, info.totalBytes));
}); });
}); });
} }

View File

@@ -26,6 +26,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.utils.ThreadUtils;
import com.android.settingslib.widget.UsageProgressBarPreference; import com.android.settingslib.widget.UsageProgressBarPreference;
@@ -92,7 +93,9 @@ public class StorageUsageProgressBarPreferenceController extends BasePreferenceC
if (mStorageEntry.isPrivate()) { if (mStorageEntry.isPrivate()) {
// StorageStatsManager can only query private storages. // StorageStatsManager can only query private storages.
mTotalBytes = mStorageStatsManager.getTotalBytes(mStorageEntry.getFsUuid()); mTotalBytes = mStorageStatsManager.getTotalBytes(mStorageEntry.getFsUuid());
mUsedBytes = mTotalBytes // TODO(b/288103116): replace with new API to get TotalBytes before rounding
// once support by StorageManager.
mUsedBytes = Utils.getPrimaryStorageSize()
- mStorageStatsManager.getFreeBytes(mStorageEntry.getFsUuid()); - mStorageStatsManager.getFreeBytes(mStorageEntry.getFsUuid());
} else { } else {
final File rootFile = mStorageEntry.getPath(); final File rootFile = mStorageEntry.getPath();