Migrate to AppStorageRepository
Bug: 321861088 Flag: EXEMPT bug fix Test: manual - on All apps and App info Test: atest AppStorageSizesControllerTest Test: atest AppStoragePreferenceTest Change-Id: I3143de720493cb09854621b115d07e76bebf6699
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
package com.android.settings.applications;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.format.Formatter;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
@@ -25,6 +24,7 @@ import androidx.preference.Preference;
|
||||
|
||||
import com.android.internal.util.Preconditions;
|
||||
import com.android.settingslib.applications.StorageStatsSource;
|
||||
import com.android.settingslib.spaprivileged.model.app.AppStorageRepositoryImpl;
|
||||
|
||||
/**
|
||||
* Handles setting the sizes for the app info screen.
|
||||
@@ -70,27 +70,28 @@ public class AppStorageSizesController {
|
||||
mCacheSize.setSummary(errorRes);
|
||||
mTotalSize.setSummary(errorRes);
|
||||
} else {
|
||||
var appStorageRepository = new AppStorageRepositoryImpl(context);
|
||||
long codeSize = mLastResult.getCodeBytes();
|
||||
long dataSize =
|
||||
mDataCleared ? 0 : mLastResult.getDataBytes() - mLastResult.getCacheBytes();
|
||||
if (mLastCodeSize != codeSize) {
|
||||
mLastCodeSize = codeSize;
|
||||
mAppSize.setSummary(getSizeStr(context, codeSize));
|
||||
mAppSize.setSummary(appStorageRepository.formatSizeBytes(codeSize));
|
||||
}
|
||||
if (mLastDataSize != dataSize) {
|
||||
mLastDataSize = dataSize;
|
||||
mDataSize.setSummary(getSizeStr(context, dataSize));
|
||||
mDataSize.setSummary(appStorageRepository.formatSizeBytes(dataSize));
|
||||
}
|
||||
long cacheSize = (mDataCleared || mCachedCleared) ? 0 : mLastResult.getCacheBytes();
|
||||
if (mLastCacheSize != cacheSize) {
|
||||
mLastCacheSize = cacheSize;
|
||||
mCacheSize.setSummary(getSizeStr(context, cacheSize));
|
||||
mCacheSize.setSummary(appStorageRepository.formatSizeBytes(cacheSize));
|
||||
}
|
||||
|
||||
long totalSize = codeSize + dataSize + cacheSize;
|
||||
if (mLastTotalSize != totalSize) {
|
||||
mLastTotalSize = totalSize;
|
||||
mTotalSize.setSummary(getSizeStr(context, totalSize));
|
||||
mTotalSize.setSummary(appStorageRepository.formatSizeBytes(totalSize));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -129,10 +130,6 @@ public class AppStorageSizesController {
|
||||
return mLastResult;
|
||||
}
|
||||
|
||||
private String getSizeStr(Context context, long size) {
|
||||
return Formatter.formatFileSize(context, size);
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
private Preference mTotalSize;
|
||||
private Preference mAppSize;
|
||||
|
@@ -34,12 +34,12 @@ import com.android.settingslib.spa.framework.util.mapItem
|
||||
import com.android.settingslib.spaprivileged.model.app.AppEntry
|
||||
import com.android.settingslib.spaprivileged.model.app.AppListModel
|
||||
import com.android.settingslib.spaprivileged.model.app.AppRecord
|
||||
import com.android.settingslib.spaprivileged.model.app.AppStorageRepositoryImpl
|
||||
import com.android.settingslib.spaprivileged.template.app.AppList
|
||||
import com.android.settingslib.spaprivileged.template.app.AppListInput
|
||||
import com.android.settingslib.spaprivileged.template.app.AppListItem
|
||||
import com.android.settingslib.spaprivileged.template.app.AppListItemModel
|
||||
import com.android.settingslib.spaprivileged.template.app.AppListPage
|
||||
import com.android.settingslib.spaprivileged.template.app.calculateSizeBytes
|
||||
import com.android.settingslib.spaprivileged.template.app.getStorageSize
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@@ -109,9 +109,11 @@ class StorageAppListModel(
|
||||
getStorageSize()
|
||||
}
|
||||
) : AppListModel<AppRecordWithSize> {
|
||||
private val appStorageRepository = AppStorageRepositoryImpl(context)
|
||||
|
||||
override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) =
|
||||
appListFlow.mapItem {
|
||||
AppRecordWithSize(it, it.calculateSizeBytes(context) ?: 0L)
|
||||
appListFlow.mapItem { app ->
|
||||
AppRecordWithSize(app, appStorageRepository.calculateSizeBytes(app) ?: 0L)
|
||||
}
|
||||
|
||||
override fun filter(
|
||||
|
@@ -83,10 +83,10 @@ public class AppStorageSizesControllerTest {
|
||||
mController.setResult(result);
|
||||
mController.updateUi(mContext);
|
||||
|
||||
assertThat(mAppPreference.getSummary()).isEqualTo("1 B");
|
||||
assertThat(mCachePreference.getSummary()).isEqualTo("10 B");
|
||||
assertThat(mDataPreference.getSummary()).isEqualTo("90 B");
|
||||
assertThat(mTotalPreference.getSummary()).isEqualTo("101 B");
|
||||
assertThat(mAppPreference.getSummary()).isEqualTo("1 byte");
|
||||
assertThat(mCachePreference.getSummary()).isEqualTo("10 byte");
|
||||
assertThat(mDataPreference.getSummary()).isEqualTo("90 byte");
|
||||
assertThat(mTotalPreference.getSummary()).isEqualTo("101 byte");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -101,10 +101,10 @@ public class AppStorageSizesControllerTest {
|
||||
mController.setCacheCleared(true);
|
||||
mController.updateUi(mContext);
|
||||
|
||||
assertThat(mAppPreference.getSummary()).isEqualTo("1 B");
|
||||
assertThat(mCachePreference.getSummary()).isEqualTo("0 B");
|
||||
assertThat(mDataPreference.getSummary()).isEqualTo("90 B");
|
||||
assertThat(mTotalPreference.getSummary()).isEqualTo("91 B");
|
||||
assertThat(mAppPreference.getSummary()).isEqualTo("1 byte");
|
||||
assertThat(mCachePreference.getSummary()).isEqualTo("0 byte");
|
||||
assertThat(mDataPreference.getSummary()).isEqualTo("90 byte");
|
||||
assertThat(mTotalPreference.getSummary()).isEqualTo("91 byte");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -119,9 +119,9 @@ public class AppStorageSizesControllerTest {
|
||||
mController.setDataCleared(true);
|
||||
mController.updateUi(mContext);
|
||||
|
||||
assertThat(mAppPreference.getSummary()).isEqualTo("1 B");
|
||||
assertThat(mCachePreference.getSummary()).isEqualTo("0 B");
|
||||
assertThat(mDataPreference.getSummary()).isEqualTo("0 B");
|
||||
assertThat(mTotalPreference.getSummary()).isEqualTo("1 B");
|
||||
assertThat(mAppPreference.getSummary()).isEqualTo("1 byte");
|
||||
assertThat(mCachePreference.getSummary()).isEqualTo("0 byte");
|
||||
assertThat(mDataPreference.getSummary()).isEqualTo("0 byte");
|
||||
assertThat(mTotalPreference.getSummary()).isEqualTo("1 byte");
|
||||
}
|
||||
}
|
||||
|
@@ -89,7 +89,7 @@ class AppStoragePreferenceTest {
|
||||
|
||||
composeTestRule.onNodeWithText(context.getString(R.string.storage_settings_for_app))
|
||||
.assertIsDisplayed()
|
||||
composeTestRule.waitUntilExists(hasText("120 B used in internal storage"))
|
||||
composeTestRule.waitUntilExists(hasText("120 byte used in internal storage"))
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -104,7 +104,7 @@ class AppStoragePreferenceTest {
|
||||
|
||||
composeTestRule.onNodeWithText(context.getString(R.string.storage_settings_for_app))
|
||||
.assertIsDisplayed()
|
||||
composeTestRule.waitUntilExists(hasText("120 B used in external storage"))
|
||||
composeTestRule.waitUntilExists(hasText("120 byte used in external storage"))
|
||||
}
|
||||
|
||||
private fun setContent(app: ApplicationInfo) {
|
||||
@@ -122,7 +122,6 @@ class AppStoragePreferenceTest {
|
||||
private val STATS = StorageStats().apply {
|
||||
codeBytes = 100
|
||||
dataBytes = 20
|
||||
cacheBytes = 3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user