summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/settings/applications/ApplicationsState.java14
-rw-r--r--src/com/android/settings/applications/InstalledAppDetails.java22
2 files changed, 25 insertions, 11 deletions
diff --git a/src/com/android/settings/applications/ApplicationsState.java b/src/com/android/settings/applications/ApplicationsState.java
index 0a5c26e..3256fb2 100644
--- a/src/com/android/settings/applications/ApplicationsState.java
+++ b/src/com/android/settings/applications/ApplicationsState.java
@@ -73,6 +73,16 @@ public class ApplicationsState {
long dataSize;
long externalCodeSize;
long externalDataSize;
+
+ // This is the part of externalDataSize that is in the cache
+ // section of external storage. Note that we don't just combine
+ // this with cacheSize because currently the platform can't
+ // automatically trim this data when needed, so it is something
+ // the user may need to manage. The externalDataSize also includes
+ // this value, since what this is here is really the part of
+ // externalDataSize that we can just consider to be "cache" files
+ // for purposes of cleaning them up in the app details UI.
+ long externalCacheSize;
}
public static class AppEntry extends SizeInfo {
@@ -820,13 +830,15 @@ public class ApplicationsState {
entry.codeSize != stats.codeSize ||
entry.dataSize != stats.dataSize ||
entry.externalCodeSize != externalCodeSize ||
- entry.externalDataSize != externalDataSize) {
+ entry.externalDataSize != externalDataSize ||
+ entry.externalCacheSize != stats.externalCacheSize) {
entry.size = newSize;
entry.cacheSize = stats.cacheSize;
entry.codeSize = stats.codeSize;
entry.dataSize = stats.dataSize;
entry.externalCodeSize = externalCodeSize;
entry.externalDataSize = externalDataSize;
+ entry.externalCacheSize = stats.externalCacheSize;
entry.sizeStr = getSizeStr(entry.size);
entry.internalSize = getTotalInternalSize(stats);
entry.internalSizeStr = getSizeStr(entry.internalSize);
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index 9166b15..d85c341 100644
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -394,8 +394,8 @@ public class InstalledAppDetails extends Fragment
// Initialize clear data and move install location buttons
View data_buttons_panel = view.findViewById(R.id.data_buttons_panel);
- mClearDataButton = (Button) data_buttons_panel.findViewById(R.id.left_button);
- mMoveAppButton = (Button) data_buttons_panel.findViewById(R.id.right_button);
+ mClearDataButton = (Button) data_buttons_panel.findViewById(R.id.right_button);
+ mMoveAppButton = (Button) data_buttons_panel.findViewById(R.id.left_button);
// Cache section
mCacheSize = (TextView) view.findViewById(R.id.cache_size_text);
@@ -687,26 +687,28 @@ public class InstalledAppDetails extends Fragment
mLastExternalCodeSize = mAppEntry.externalCodeSize;
mExternalCodeSize.setText(getSizeStr(mAppEntry.externalCodeSize));
}
- if (mLastExternalDataSize != mAppEntry.externalDataSize) {
- mLastExternalDataSize = mAppEntry.externalDataSize;
- mExternalDataSize.setText(getSizeStr(mAppEntry.externalDataSize));
+ long nonCacheExtDataSize = mAppEntry.externalDataSize - mAppEntry.externalCacheSize;
+ if (mLastExternalDataSize != nonCacheExtDataSize) {
+ mLastExternalDataSize = nonCacheExtDataSize;
+ mExternalDataSize.setText(getSizeStr(nonCacheExtDataSize));
}
- if (mLastCacheSize != mAppEntry.cacheSize) {
- mLastCacheSize = mAppEntry.cacheSize;
- mCacheSize.setText(getSizeStr(mAppEntry.cacheSize));
+ long cacheSize = mAppEntry.cacheSize + mAppEntry.externalCacheSize;
+ if (mLastCacheSize != cacheSize) {
+ mLastCacheSize = cacheSize;
+ mCacheSize.setText(getSizeStr(cacheSize));
}
if (mLastTotalSize != mAppEntry.size) {
mLastTotalSize = mAppEntry.size;
mTotalSize.setText(getSizeStr(mAppEntry.size));
}
- if (mAppEntry.dataSize <= 0 || !mCanClearData) {
+ if ((mAppEntry.dataSize+nonCacheExtDataSize) <= 0 || !mCanClearData) {
mClearDataButton.setEnabled(false);
} else {
mClearDataButton.setEnabled(true);
mClearDataButton.setOnClickListener(this);
}
- if (mAppEntry.cacheSize <= 0) {
+ if (cacheSize <= 0) {
mClearCacheButton.setEnabled(false);
} else {
mClearCacheButton.setEnabled(true);