Merge "Cache mechanism for Storage page" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d3cb79a127
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
* Copyright (C) 2022 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.deviceinfo.storage;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class StorageCacheHelperTest {
|
||||
private static final long FAKE_IMAGES_SIZE = 7000L;
|
||||
private static final long FAKE_VIDEOS_SIZE = 8900L;
|
||||
private static final long FAKE_AUDIO_SIZE = 3500L;
|
||||
private static final long FAKE_APPS_SIZE = 4000L;
|
||||
private static final long FAKE_GAMES_SIZE = 5000L;
|
||||
private static final long FAKE_DOCS_SIZE = 1500L;
|
||||
private static final long FAKE_TRASH_SIZE = 500L;
|
||||
private static final long FAKE_SYSTEM_SIZE = 2300L;
|
||||
private static final long FAKE_TOTAL_SIZE = 256000L;
|
||||
private static final long FAKE_USED_SIZE = 50000L;
|
||||
|
||||
private Context mContext;
|
||||
private StorageCacheHelper mHelper;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = ApplicationProvider.getApplicationContext();
|
||||
mHelper = new StorageCacheHelper(mContext, UserHandle.myUserId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void hasCachedSizeInfo_noCacheData_shouldReturnFalse() {
|
||||
assertThat(mHelper.hasCachedSizeInfo()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void hasCachedSizeInfo_hasCacheData_shouldReturnTrue() {
|
||||
mHelper.cacheSizeInfo(getFakeStorageCache());
|
||||
|
||||
assertThat(mHelper.hasCachedSizeInfo()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cacheSizeInfo_shouldSaveToSharedPreference() {
|
||||
mHelper.cacheSizeInfo(getFakeStorageCache());
|
||||
|
||||
StorageCacheHelper.StorageCache storageCache = mHelper.retrieveCachedSize();
|
||||
|
||||
assertThat(storageCache.imagesSize).isEqualTo(FAKE_IMAGES_SIZE);
|
||||
assertThat(storageCache.totalSize).isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cacheTotalSizeAndUsedSize_shouldSaveToSharedPreference() {
|
||||
mHelper.cacheTotalSizeAndUsedSize(FAKE_TOTAL_SIZE, FAKE_USED_SIZE);
|
||||
|
||||
StorageCacheHelper.StorageCache storageCache = mHelper.retrieveCachedSize();
|
||||
|
||||
assertThat(storageCache.totalSize).isEqualTo(FAKE_TOTAL_SIZE);
|
||||
assertThat(storageCache.usedSize).isEqualTo(FAKE_USED_SIZE);
|
||||
}
|
||||
|
||||
private StorageCacheHelper.StorageCache getFakeStorageCache() {
|
||||
StorageCacheHelper.StorageCache result = new StorageCacheHelper.StorageCache();
|
||||
result.trashSize = FAKE_TRASH_SIZE;
|
||||
result.systemSize = FAKE_SYSTEM_SIZE;
|
||||
result.imagesSize = FAKE_IMAGES_SIZE;
|
||||
result.documentsAndOtherSize = FAKE_DOCS_SIZE;
|
||||
result.audioSize = FAKE_AUDIO_SIZE;
|
||||
result.gamesSize = FAKE_GAMES_SIZE;
|
||||
result.videosSize = FAKE_VIDEOS_SIZE;
|
||||
result.allAppsExceptGamesSize = FAKE_APPS_SIZE;
|
||||
return result;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user