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