Search in sources :

Example 91 with PrivateStorageInfo

use of com.android.settingslib.deviceinfo.PrivateStorageInfo in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class CachedStorageValuesHelperTest method cacheResult_succeeds.

@Test
public void cacheResult_succeeds() {
    when(mMockClock.getCurrentTime()).thenReturn(10000L);
    final StorageStatsSource.ExternalStorageStats externalStats = new StorageStatsSource.ExternalStorageStats(22222L, 2L, 20L, 200L, 2000L);
    final StorageAsyncLoader.AppsStorageResult result = new StorageAsyncLoader.AppsStorageResult();
    result.gamesSize = 1L;
    result.musicAppsSize = 10L;
    result.videoAppsSize = 100L;
    result.photosAppsSize = 1000L;
    result.otherAppsSize = 10000L;
    result.cacheSize = 100000L;
    result.externalStats = externalStats;
    final PrivateStorageInfo info = new PrivateStorageInfo(1000L, 6000L);
    mCachedValuesHelper.cacheResult(info, result);
    assertThat(mSharedPreferences.getLong(GAME_APPS_SIZE_KEY, -1)).isEqualTo(1L);
    assertThat(mSharedPreferences.getLong(MUSIC_APPS_SIZE_KEY, -1)).isEqualTo(10L);
    assertThat(mSharedPreferences.getLong(VIDEO_APPS_SIZE_KEY, -1)).isEqualTo(100L);
    assertThat(mSharedPreferences.getLong(PHOTO_APPS_SIZE_KEY, -1)).isEqualTo(1000L);
    assertThat(mSharedPreferences.getLong(OTHER_APPS_SIZE_KEY, -1)).isEqualTo(10000L);
    assertThat(mSharedPreferences.getLong(CACHE_APPS_SIZE_KEY, -1)).isEqualTo(100000L);
    assertThat(mSharedPreferences.getLong(EXTERNAL_TOTAL_BYTES, -1)).isEqualTo(22222L);
    assertThat(mSharedPreferences.getLong(EXTERNAL_AUDIO_BYTES, -1)).isEqualTo(2L);
    assertThat(mSharedPreferences.getLong(EXTERNAL_VIDEO_BYTES, -1)).isEqualTo(20L);
    assertThat(mSharedPreferences.getLong(EXTERNAL_IMAGE_BYTES, -1)).isEqualTo(200L);
    assertThat(mSharedPreferences.getLong(EXTERNAL_APP_BYTES, -1)).isEqualTo(2000L);
    assertThat(mSharedPreferences.getLong(FREE_BYTES_KEY, -1)).isEqualTo(1000L);
    assertThat(mSharedPreferences.getLong(TOTAL_BYTES_KEY, -1)).isEqualTo(6000L);
    assertThat(mSharedPreferences.getInt(USER_ID_KEY, -1)).isEqualTo(0);
    assertThat(mSharedPreferences.getLong(TIMESTAMP_KEY, -1)).isEqualTo(10000L);
}
Also used : PrivateStorageInfo(com.android.settingslib.deviceinfo.PrivateStorageInfo) StorageStatsSource(com.android.settingslib.applications.StorageStatsSource) Test(org.junit.Test)

Example 92 with PrivateStorageInfo

use of com.android.settingslib.deviceinfo.PrivateStorageInfo in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class LowStorageSlice method getSlice.

@Override
public Slice getSlice() {
    // Get used storage percentage from StorageManager.
    final PrivateStorageInfo info = PrivateStorageInfo.getPrivateStorageInfo(new StorageManagerVolumeProvider(mContext.getSystemService(StorageManager.class)));
    final double usedPercentage = (double) (info.totalBytes - info.freeBytes) / info.totalBytes;
    // Generate Low storage Slice.
    final String percentageString = NumberFormat.getPercentInstance().format(usedPercentage);
    final String freeSizeString = Formatter.formatFileSize(mContext, info.freeBytes);
    final ListBuilder listBuilder = new ListBuilder(mContext, CustomSliceRegistry.LOW_STORAGE_SLICE_URI, ListBuilder.INFINITY).setAccentColor(Utils.getColorAccentDefaultColor(mContext));
    final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.ic_storage);
    if (usedPercentage < LOW_STORAGE_THRESHOLD) {
        // For clients that ignore error checking, a generic storage slice will be given.
        final CharSequence titleStorage = mContext.getText(R.string.storage_settings);
        final String summaryStorage = mContext.getString(R.string.storage_summary, percentageString, freeSizeString);
        return listBuilder.addRow(buildRowBuilder(titleStorage, summaryStorage, icon)).setIsError(true).build();
    }
    final CharSequence titleLowStorage = mContext.getText(R.string.storage_menu_free);
    final String summaryLowStorage = mContext.getString(R.string.low_storage_summary, percentageString, freeSizeString);
    return listBuilder.addRow(buildRowBuilder(titleLowStorage, summaryLowStorage, icon)).build();
}
Also used : PrivateStorageInfo(com.android.settingslib.deviceinfo.PrivateStorageInfo) IconCompat(androidx.core.graphics.drawable.IconCompat) StorageManagerVolumeProvider(com.android.settingslib.deviceinfo.StorageManagerVolumeProvider) ListBuilder(androidx.slice.builders.ListBuilder)

Example 93 with PrivateStorageInfo

use of com.android.settingslib.deviceinfo.PrivateStorageInfo in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class StorageSlice method getSlice.

@Override
public Slice getSlice() {
    final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.ic_homepage_storage);
    final String title = mContext.getString(R.string.storage_label);
    final SliceAction primaryAction = SliceAction.createDeeplink(getPrimaryAction(), icon, ListBuilder.ICON_IMAGE, title);
    final PrivateStorageInfo info = getPrivateStorageInfo();
    return new ListBuilder(mContext, CustomSliceRegistry.STORAGE_SLICE_URI, ListBuilder.INFINITY).setAccentColor(Utils.getColorAccentDefaultColor(mContext)).setHeader(new ListBuilder.HeaderBuilder().setTitle(title)).addRow(new ListBuilder.RowBuilder().setTitle(getStorageUsedText(info)).setSubtitle(getStorageSummaryText(info)).setPrimaryAction(primaryAction)).build();
}
Also used : PrivateStorageInfo(com.android.settingslib.deviceinfo.PrivateStorageInfo) IconCompat(androidx.core.graphics.drawable.IconCompat) SliceAction(androidx.slice.builders.SliceAction) ListBuilder(androidx.slice.builders.ListBuilder)

Example 94 with PrivateStorageInfo

use of com.android.settingslib.deviceinfo.PrivateStorageInfo in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class StorageDashboardFragmentTest method test_cacheProviderDoesntProvideValuesIfAppsMissing.

@Test
public void test_cacheProviderDoesntProvideValuesIfAppsMissing() {
    CachedStorageValuesHelper helper = mock(CachedStorageValuesHelper.class);
    PrivateStorageInfo info = new PrivateStorageInfo(0, 0);
    when(helper.getCachedPrivateStorageInfo()).thenReturn(info);
    mFragment.setCachedStorageValuesHelper(helper);
    mFragment.initializeCachedValues();
    assertThat(mFragment.getPrivateStorageInfo()).isNull();
    assertThat(mFragment.getAppsStorageResult()).isNull();
}
Also used : CachedStorageValuesHelper(com.android.settings.deviceinfo.storage.CachedStorageValuesHelper) PrivateStorageInfo(com.android.settingslib.deviceinfo.PrivateStorageInfo) Test(org.junit.Test)

Example 95 with PrivateStorageInfo

use of com.android.settingslib.deviceinfo.PrivateStorageInfo in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class StorageDashboardFragmentTest method test_cacheProviderProvidesValuesIfBothCached.

@Test
public void test_cacheProviderProvidesValuesIfBothCached() {
    CachedStorageValuesHelper helper = mock(CachedStorageValuesHelper.class);
    PrivateStorageInfo info = new PrivateStorageInfo(0, 0);
    when(helper.getCachedPrivateStorageInfo()).thenReturn(info);
    SparseArray<StorageAsyncLoader.AppsStorageResult> result = new SparseArray<>();
    when(helper.getCachedAppsStorageResult()).thenReturn(result);
    mFragment.setCachedStorageValuesHelper(helper);
    mFragment.initializeCachedValues();
    assertThat(mFragment.getPrivateStorageInfo()).isEqualTo(info);
    assertThat(mFragment.getAppsStorageResult()).isEqualTo(result);
}
Also used : SparseArray(android.util.SparseArray) CachedStorageValuesHelper(com.android.settings.deviceinfo.storage.CachedStorageValuesHelper) PrivateStorageInfo(com.android.settingslib.deviceinfo.PrivateStorageInfo) Test(org.junit.Test)

Aggregations

PrivateStorageInfo (com.android.settingslib.deviceinfo.PrivateStorageInfo)99 Test (org.junit.Test)86 View (android.view.View)21 RecyclerView (android.support.v7.widget.RecyclerView)15 CachedStorageValuesHelper (com.android.settings.deviceinfo.storage.CachedStorageValuesHelper)14 Slice (androidx.slice.Slice)9 VolumeInfo (android.os.storage.VolumeInfo)8 Config (org.robolectric.annotation.Config)8 SparseArray (android.util.SparseArray)7 StorageStatsSource (com.android.settingslib.applications.StorageStatsSource)7 StorageVolumeProvider (com.android.settingslib.deviceinfo.StorageVolumeProvider)7 VisibleForTesting (android.support.annotation.VisibleForTesting)6 RecyclerView (androidx.recyclerview.widget.RecyclerView)6 SliceMetadata (androidx.slice.SliceMetadata)5 IconCompat (androidx.core.graphics.drawable.IconCompat)4 ShadowPrivateStorageInfo (com.android.settings.testutils.shadow.ShadowPrivateStorageInfo)4 ListBuilder (androidx.slice.builders.ListBuilder)3 StorageManagerVolumeProvider (com.android.settingslib.deviceinfo.StorageManagerVolumeProvider)3 VisibleForTesting (androidx.annotation.VisibleForTesting)2 NumberFormat (java.text.NumberFormat)2