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
diff --git a/src/com/android/settings/deletionhelper/DeletionHelperFragment.java b/src/com/android/settings/deletionhelper/DeletionHelperFragment.java
index 8871adb..ce467e3 100644
--- a/src/com/android/settings/deletionhelper/DeletionHelperFragment.java
+++ b/src/com/android/settings/deletionhelper/DeletionHelperFragment.java
@@ -254,8 +254,10 @@
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;