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

Commit 952a0d9f authored by Felipe Leme's avatar Felipe Leme
Browse files

Revert "Adds a section for unaccounted data."

This reverts commit 54dc9edc.

Change-Id: Ie679f486ef703983b24a030172ff0879b4349483
parent f7d8a164
Loading
Loading
Loading
Loading
+29 −58
Original line number Diff line number Diff line
@@ -79,7 +79,6 @@ public class StorageMeasurement {
    public static class MeasurementDetails {
        public long totalSize;
        public long availSize;
        private long accountedSize;

        /**
         * Total apps disk usage per profiles of the current user.
@@ -127,17 +126,6 @@ public class StorageMeasurement {
         * internal storage. Key is {@link UserHandle}.
         */
        public SparseLongArray usersSize = new SparseLongArray();

        /**
         * Gets the total disk usage that is not accounted for.
         *
         * <p>
         * Typically used by device-specific processes that the Framework has no control over.
         */
        public long getUnaccountedSize() {
            final long usedSize = totalSize - availSize;
            return usedSize - accountedSize;
        }
    }

    public interface MeasurementReceiver {
@@ -231,9 +219,6 @@ public class StorageMeasurement {
        }

        private void addStatsLocked(PackageStats stats) {
            synchronized (mDetails) {
                long accountedAppSize = 0;
                long accountedCacheSize = 0;
            if (mIsPrivate) {
                long codeSize = stats.codeSize;
                long dataSize = stats.dataSize;
@@ -245,29 +230,23 @@ public class StorageMeasurement {
                    dataSize += stats.externalDataSize + stats.externalMediaSize;
                    cacheSize += stats.externalCacheSize;
                }
                    accountedAppSize += dataSize;

                // Count code and data for current user's profiles (keys prepared in constructor)
                    if (addValueIfKeyExists(mDetails.appsSize, stats.userHandle,
                            codeSize + dataSize)) {
                        // Code is only counted once for the current user
                        accountedAppSize += codeSize;
                    }
                addValueIfKeyExists(mDetails.appsSize, stats.userHandle, codeSize + dataSize);

                // 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
                    accountedCacheSize = cacheSize;
                mDetails.cacheSize += cacheSize;

            } else {
                // Physical storage; only count external sizes
                addValue(mDetails.appsSize, mCurrentUser,
                        stats.externalCodeSize + stats.externalDataSize
                        + stats.externalMediaSize + stats.externalObbSize);
                    accountedCacheSize = stats.externalCacheSize;
                }
                mDetails.cacheSize += accountedCacheSize;
                mDetails.accountedSize += accountedAppSize + accountedCacheSize;
                mDetails.cacheSize += stats.externalCacheSize;
            }
        }
    }
@@ -396,14 +375,11 @@ public class StorageMeasurement {
                for (String type : sMeasureMediaTypes) {
                    final File path = new File(basePath, type);
                    final long size = getDirectorySize(imcs, path);
                    details.accountedSize += size;
                    mediaMap.put(type, size);
                }

                // Measure misc files not counted under media
                final long miscSize = measureMisc(imcs, basePath);
                details.accountedSize += miscSize;
                addValue(details.miscSize, userId, miscSize);
                addValue(details.miscSize, userId, measureMisc(imcs, basePath));
            }

            if (mSharedVolume.getType() == VolumeInfo.TYPE_EMULATED) {
@@ -412,9 +388,6 @@ public class StorageMeasurement {
                for (UserInfo user : users) {
                    final File userPath = mSharedVolume.getPathForUser(user.id);
                    final long size = getDirectorySize(imcs, userPath);
                    if (user.id != UserHandle.USER_SYSTEM) {
                        details.accountedSize += size;
                    }
                    addValue(details.usersSize, user.id, size);
                }
            }
@@ -495,12 +468,10 @@ public class StorageMeasurement {
        array.put(key, array.get(key) + value);
    }

    private static boolean addValueIfKeyExists(SparseLongArray array, int key, long value) {
    private static void addValueIfKeyExists(SparseLongArray array, int key, long value) {
        final int index = array.indexOfKey(key);
        if (index >= 0) {
            array.put(key, array.valueAt(index) + value);
            return true;
        }
        return false;
    }
}