diff options
Diffstat (limited to 'src/com/android/settings/applications')
3 files changed, 33 insertions, 18 deletions
diff --git a/src/com/android/settings/applications/ApplicationsState.java b/src/com/android/settings/applications/ApplicationsState.java index 3256fb2..cca9086 100644 --- a/src/com/android/settings/applications/ApplicationsState.java +++ b/src/com/android/settings/applications/ApplicationsState.java @@ -786,7 +786,10 @@ public class ApplicationsState { private long getTotalExternalSize(PackageStats ps) { if (ps != null) { + // We also include the cache size here because for non-emulated + // we don't automtically clean cache files. return ps.externalCodeSize + ps.externalDataSize + + ps.externalCacheSize + ps.externalMediaSize + ps.externalObbSize; } return SIZE_INVALID; @@ -822,7 +825,7 @@ public class ApplicationsState { long externalCodeSize = stats.externalCodeSize + stats.externalObbSize; long externalDataSize = stats.externalDataSize - + stats.externalMediaSize + stats.externalCacheSize; + + stats.externalMediaSize; long newSize = externalCodeSize + externalDataSize + getTotalInternalSize(stats); if (entry.size != newSize || diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java index d85c341..22908ab 100644 --- a/src/com/android/settings/applications/InstalledAppDetails.java +++ b/src/com/android/settings/applications/InstalledAppDetails.java @@ -384,7 +384,12 @@ public class InstalledAppDetails extends Fragment mDataSize = (TextView)view.findViewById(R.id.data_size_text); mExternalCodeSize = (TextView)view.findViewById(R.id.external_code_size_text); mExternalDataSize = (TextView)view.findViewById(R.id.external_data_size_text); - + + if (Environment.isExternalStorageEmulated()) { + ((View)mExternalCodeSize.getParent()).setVisibility(View.GONE); + ((View)mExternalDataSize.getParent()).setVisibility(View.GONE); + } + // Get Control button panel View btnPanel = view.findViewById(R.id.control_buttons_panel); mForceStopButton = (Button) btnPanel.findViewById(R.id.left_button); @@ -675,22 +680,28 @@ public class InstalledAppDetails extends Fragment } else { mHaveSizes = true; - if (mLastCodeSize != mAppEntry.codeSize) { - mLastCodeSize = mAppEntry.codeSize; - mAppSize.setText(getSizeStr(mAppEntry.codeSize)); - } - if (mLastDataSize != mAppEntry.dataSize) { - mLastDataSize = mAppEntry.dataSize; - mDataSize.setText(getSizeStr(mAppEntry.dataSize)); + long codeSize = mAppEntry.codeSize; + long dataSize = mAppEntry.dataSize; + if (Environment.isExternalStorageEmulated()) { + codeSize += mAppEntry.externalCodeSize; + dataSize += mAppEntry.externalDataSize; + } else { + if (mLastExternalCodeSize != mAppEntry.externalCodeSize) { + mLastExternalCodeSize = mAppEntry.externalCodeSize; + mExternalCodeSize.setText(getSizeStr(mAppEntry.externalCodeSize)); + } + if (mLastExternalDataSize != mAppEntry.externalDataSize) { + mLastExternalDataSize = mAppEntry.externalDataSize; + mExternalDataSize.setText(getSizeStr( mAppEntry.externalDataSize)); + } } - if (mLastExternalCodeSize != mAppEntry.externalCodeSize) { - mLastExternalCodeSize = mAppEntry.externalCodeSize; - mExternalCodeSize.setText(getSizeStr(mAppEntry.externalCodeSize)); + if (mLastCodeSize != codeSize) { + mLastCodeSize = codeSize; + mAppSize.setText(getSizeStr(codeSize)); } - long nonCacheExtDataSize = mAppEntry.externalDataSize - mAppEntry.externalCacheSize; - if (mLastExternalDataSize != nonCacheExtDataSize) { - mLastExternalDataSize = nonCacheExtDataSize; - mExternalDataSize.setText(getSizeStr(nonCacheExtDataSize)); + if (mLastDataSize != dataSize) { + mLastDataSize = dataSize; + mDataSize.setText(getSizeStr(dataSize)); } long cacheSize = mAppEntry.cacheSize + mAppEntry.externalCacheSize; if (mLastCacheSize != cacheSize) { @@ -702,7 +713,7 @@ public class InstalledAppDetails extends Fragment mTotalSize.setText(getSizeStr(mAppEntry.size)); } - if ((mAppEntry.dataSize+nonCacheExtDataSize) <= 0 || !mCanClearData) { + if ((mAppEntry.dataSize+ mAppEntry.externalDataSize) <= 0 || !mCanClearData) { mClearDataButton.setEnabled(false); } else { mClearDataButton.setEnabled(true); diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index 1cc9dcc..1240d43 100644 --- a/src/com/android/settings/applications/ManageApplications.java +++ b/src/com/android/settings/applications/ManageApplications.java @@ -341,7 +341,8 @@ public class ManageApplications extends Fragment implements final int N = mApplications.getCount(); for (int i=0; i<N; i++) { ApplicationsState.AppEntry ae = mApplications.getAppEntry(i); - mAppStorage += ae.externalCodeSize + ae.externalDataSize; + mAppStorage += ae.externalCodeSize + ae.externalDataSize + + ae.externalCacheSize; } } } else { |