Shows "This device" for default internal storage

Bug: 188492974
Test: atest StorageEntryTest
Change-Id: I7278ff604f22acafd47cef2f5d613a2bf9f0e371
This commit is contained in:
Arc Wang
2021-05-18 15:13:28 +08:00
parent 1aac3eb017
commit 07dc4fe79a
2 changed files with 24 additions and 2 deletions

View File

@@ -26,6 +26,8 @@ import android.os.storage.VolumeInfo;
import android.os.storage.VolumeRecord;
import android.text.TextUtils;
import com.android.settings.R;
import java.io.File;
/**
@@ -44,8 +46,15 @@ public class StorageEntry implements Comparable<StorageEntry>, Parcelable {
mVolumeInfo = volumeInfo;
mUnsupportedDiskInfo = null;
mMissingVolumeRecord = null;
mVolumeInfoDescription = context.getSystemService(StorageManager.class)
.getBestVolumeDescription(mVolumeInfo);
if (isDefaultInternalStorage()) {
// Shows "This device" for default internal storage.
mVolumeInfoDescription = context.getResources()
.getString(R.string.storage_default_internal_storage);
} else {
mVolumeInfoDescription = context.getSystemService(StorageManager.class)
.getBestVolumeDescription(mVolumeInfo);
}
}
public StorageEntry(@NonNull DiskInfo diskInfo) {

View File

@@ -31,6 +31,8 @@ import android.os.storage.VolumeRecord;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.runner.AndroidJUnit4;
import com.android.settings.testutils.ResourcesUtils;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -246,6 +248,17 @@ public class StorageEntryTest {
assertThat(recordStorage.getDescription()).isEqualTo(description);
}
@Test
public void getDescription_defaultInternalStorage_returnThisDevice() {
final VolumeInfo volumeInfo = mock(VolumeInfo.class);
when(volumeInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
when(volumeInfo.getId()).thenReturn(VolumeInfo.ID_PRIVATE_INTERNAL);
final StorageEntry volumeStorage = new StorageEntry(mContext, volumeInfo);
assertThat(volumeStorage.getDescription()).isEqualTo(
ResourcesUtils.getResourcesString(mContext, "storage_default_internal_storage"));
}
@Test
public void getDiskId_shouldReturnDiskId() {
final VolumeInfo volumeInfo = mock(VolumeInfo.class);