From 30eaf00f3c66ec110df62c94ba1907c9f4a5bf8a Mon Sep 17 00:00:00 2001 From: Daniel Nishi Date: Tue, 3 May 2016 17:21:51 -0700 Subject: [PATCH] Fix a bug where negative file sizes were being used. Negative file sizes for packages occurs when the file size is either unknown or if an error occurred during size calculation. As a result, we can skip them for total freeable space calculations. Bug: 28465884 Change-Id: I340d725a66a228fd94993781c5e8ef732a60a7b3 --- .../settings/deletionhelper/DeletionHelperFragment.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/deletionhelper/DeletionHelperFragment.java b/src/com/android/settings/deletionhelper/DeletionHelperFragment.java index 8871adbac4c..ce467e39a9b 100644 --- a/src/com/android/settings/deletionhelper/DeletionHelperFragment.java +++ b/src/com/android/settings/deletionhelper/DeletionHelperFragment.java @@ -254,8 +254,10 @@ public class DeletionHelperFragment extends SettingsPreferenceFragment implement long freeableSpace = 0; for (int i = 0; i < mAppEntries.size(); i++) { final AppEntry entry = mAppEntries.get(i); - if (!mUncheckedApplications.contains(entry.label)) { - freeableSpace += mAppEntries.get(i).size; + long entrySize = mAppEntries.get(i).size; + // If the entrySize is negative, it is either an unknown size or an error occurred. + if (!mUncheckedApplications.contains(entry.label) && entrySize > 0) { + freeableSpace += entrySize; } } return freeableSpace;