Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33ecd381 authored by Dominggoes Isakh's avatar Dominggoes Isakh Committed by Michael Bestas
Browse files

Settings: Fix internal storage summary for non-emulated storage devices

BUGBASH-355

Change-Id: Ie14e8f71792d60cf300b844b798d51ea7f6dced8
parent 6d4bee5a
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -61,9 +61,12 @@ import com.android.settings.Utils;
import com.android.settings.applications.ManageApplications;
import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
import com.android.settings.deviceinfo.StorageSettings.MountTask;
import com.android.settingslib.deviceinfo.PrivateStorageInfo;
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
import com.android.settingslib.deviceinfo.StorageMeasurement;
import com.android.settingslib.deviceinfo.StorageMeasurement.MeasurementDetails;
import com.android.settingslib.deviceinfo.StorageMeasurement.MeasurementReceiver;

import com.google.android.collect.Lists;

import java.io.File;
@@ -170,6 +173,13 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
            mSystemSize = 0;
        }

        if (mStorageManager.getPrimaryPhysicalVolume() != null) {
            PrivateStorageInfo info = PrivateStorageInfo.getPrivateStorageInfo(
                    new StorageManagerVolumeProvider(mStorageManager));
            mTotalSize = info.totalBytes;
            mSystemSize = mTotalSize - sharedDataSize;
        }

        // Find the emulated shared storage layered above this private volume
        mSharedVolume = mStorageManager.findEmulatedForPrivate(mVolume);

+6 −2
Original line number Diff line number Diff line
@@ -167,10 +167,11 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
        final List<VolumeInfo> volumes = mStorageManager.getVolumes();
        Collections.sort(volumes, VolumeInfo.getDescriptionComparator());

        long primaryPhysicalTotalSpace = PrivateStorageInfo.getPrimaryPhysicalTotalSpace(volumes);
        for (VolumeInfo vol : volumes) {
            if (vol.getType() == VolumeInfo.TYPE_PRIVATE) {
                final long volumeTotalBytes = PrivateStorageInfo.getTotalSize(vol,
                        sTotalInternalStorage);
                        sTotalInternalStorage) - primaryPhysicalTotalSpace;
                final int color = COLOR_PRIVATE[privateCount++ % COLOR_PRIVATE.length];
                mInternalCategory.addPreference(
                        new StorageVolumePreference(context, vol, color, volumeTotalBytes));
@@ -282,10 +283,13 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
            }

            if (vol.getType() == VolumeInfo.TYPE_PRIVATE) {
                final List<VolumeInfo> volumes = mStorageManager.getVolumes();
                long primaryPhysicalTotalSpace =
                        PrivateStorageInfo.getPrimaryPhysicalTotalSpace(volumes);
                final Bundle args = new Bundle();
                args.putString(VolumeInfo.EXTRA_VOLUME_ID, vol.getId());
                PrivateVolumeSettings.setVolumeSize(args, PrivateStorageInfo.getTotalSize(vol,
                        sTotalInternalStorage));
                        sTotalInternalStorage) - primaryPhysicalTotalSpace);
                startFragment(this, PrivateVolumeSettings.class.getCanonicalName(),
                        -1, 0, args);
                return true;