Fix issue #6761130: Clearing app data in settings does not clear app's USB storage

The installed app details was not correctly distinguishing between cache and
normal data on external storage.  The cache files on external storage are now
correctly shown in the cache section, since those are what get deleted when
you hit the clear cache button.

Change-Id: Id98bdb7fb5202d6a092fe5a772638eeb6aed2b47
This commit is contained in:
Dianne Hackborn
2012-06-29 15:01:23 -07:00
parent beb3d8b1e0
commit 313ab17270
2 changed files with 25 additions and 11 deletions

View File

@@ -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);