Merge "Fix a bug where cache was double-counted." into oc-dev
am: 7035a41715
Change-Id: I2c465b9561cea69e5772efd08af7794f762758ca
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index 5ad5e48..e21ab7e 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -543,8 +543,8 @@
mClearCacheButton.setEnabled(false);
} else {
long codeSize = result.getCodeBytes();
- long dataSize = result.getDataBytes();
long cacheSize = result.getCacheBytes();
+ long dataSize = result.getDataBytes() - cacheSize;
if (dataSize <= 0 || !mCanClearData || mDataCleared) {
mClearDataButton.setEnabled(false);
diff --git a/src/com/android/settings/applications/AppStorageSizesController.java b/src/com/android/settings/applications/AppStorageSizesController.java
index 45ece6e..3626fab 100644
--- a/src/com/android/settings/applications/AppStorageSizesController.java
+++ b/src/com/android/settings/applications/AppStorageSizesController.java
@@ -70,7 +70,8 @@
mTotalSize.setSummary(errorRes);
} else {
long codeSize = mLastResult.getCodeBytes();
- long dataSize = mDataCleared ? 0 : mLastResult.getDataBytes();
+ long dataSize =
+ mDataCleared ? 0 : mLastResult.getDataBytes() - mLastResult.getCacheBytes();
if (mLastCodeSize != codeSize) {
mLastCodeSize = codeSize;
mAppSize.setSummary(getSizeStr(context, codeSize));
diff --git a/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java b/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java
index 36d78c1..e302edd 100644
--- a/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java
@@ -14,11 +14,9 @@
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
import com.android.settings.R;
import com.android.settingslib.applications.StorageStatsSource.AppStorageStats;
@@ -82,15 +80,15 @@
when(result.getCodeBytes()).thenReturn(1L);
when(result.getCacheBytes()).thenReturn(10L);
when(result.getDataBytes()).thenReturn(100L);
- when(result.getTotalBytes()).thenReturn(111L);
+ when(result.getTotalBytes()).thenReturn(101L);
mController.setResult(result);
mController.updateUi(mContext);
assertThat(mAppPreference.getSummary()).isEqualTo("1.00B");
assertThat(mCachePreference.getSummary()).isEqualTo("10.00B");
- assertThat(mDataPreference.getSummary()).isEqualTo("100B");
- assertThat(mTotalPreference.getSummary()).isEqualTo("111B");
+ assertThat(mDataPreference.getSummary()).isEqualTo("90.00B");
+ assertThat(mTotalPreference.getSummary()).isEqualTo("101B");
}
@Test
@@ -99,7 +97,7 @@
when(result.getCodeBytes()).thenReturn(1L);
when(result.getCacheBytes()).thenReturn(10L);
when(result.getDataBytes()).thenReturn(100L);
- when(result.getTotalBytes()).thenReturn(111L);
+ when(result.getTotalBytes()).thenReturn(101L);
mController.setResult(result);
mController.setCacheCleared(true);
@@ -107,8 +105,8 @@
assertThat(mAppPreference.getSummary()).isEqualTo("1.00B");
assertThat(mCachePreference.getSummary()).isEqualTo("0.00B");
- assertThat(mDataPreference.getSummary()).isEqualTo("100B");
- assertThat(mTotalPreference.getSummary()).isEqualTo("101B");
+ assertThat(mDataPreference.getSummary()).isEqualTo("90.00B");
+ assertThat(mTotalPreference.getSummary()).isEqualTo("91.00B");
}
@Test
@@ -117,7 +115,7 @@
when(result.getCodeBytes()).thenReturn(1L);
when(result.getCacheBytes()).thenReturn(10L);
when(result.getDataBytes()).thenReturn(100L);
- when(result.getTotalBytes()).thenReturn(111L);
+ when(result.getTotalBytes()).thenReturn(101L);
mController.setResult(result);
mController.setDataCleared(true);