Better public volumes handling on secondary users.
Public volumes are only mounted for a single user at a time, so only show notifications and launch Intents for the relevant user. Test: RunSettingsRobotest Bug: 73642796 Change-Id: Ic386ec03598ab8968b75320be7844b6ac7f1387b
This commit is contained in:
@@ -16,14 +16,17 @@
|
||||
|
||||
package com.android.settings.deviceinfo;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.nullable;
|
||||
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.usage.StorageStatsManager;
|
||||
import android.content.Intent;
|
||||
import android.icu.text.NumberFormat;
|
||||
import android.os.storage.VolumeInfo;
|
||||
import android.text.format.Formatter;
|
||||
@@ -71,14 +74,14 @@ public class StorageSettingsTest {
|
||||
when(volumeInfo.isMountedReadable()).thenReturn(true);
|
||||
when(volumeInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
|
||||
when(mStorageManagerVolumeProvider
|
||||
.getTotalBytes(nullable(StorageStatsManager.class), nullable(VolumeInfo.class)))
|
||||
.thenReturn(500L);
|
||||
.getTotalBytes(nullable(StorageStatsManager.class), nullable(VolumeInfo.class)))
|
||||
.thenReturn(500L);
|
||||
when(mStorageManagerVolumeProvider
|
||||
.getFreeBytes(nullable(StorageStatsManager.class), nullable(VolumeInfo.class)))
|
||||
.thenReturn(0L);
|
||||
.getFreeBytes(nullable(StorageStatsManager.class), nullable(VolumeInfo.class)))
|
||||
.thenReturn(0L);
|
||||
|
||||
ReflectionHelpers
|
||||
.setField(provider, "mStorageManagerVolumeProvider", mStorageManagerVolumeProvider);
|
||||
.setField(provider, "mStorageManagerVolumeProvider", mStorageManagerVolumeProvider);
|
||||
ReflectionHelpers.setField(provider, "mContext", RuntimeEnvironment.application);
|
||||
|
||||
provider.setListening(true);
|
||||
@@ -89,4 +92,14 @@ public class StorageSettingsTest {
|
||||
RuntimeEnvironment.application.getString(
|
||||
R.string.storage_summary, percentage, freeSpace));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handlePublicVolumeClick_startsANonNullActivityWhenVolumeHasNoBrowse() {
|
||||
VolumeInfo volumeInfo = mock(VolumeInfo.class, RETURNS_DEEP_STUBS);
|
||||
when(volumeInfo.isMountedReadable()).thenReturn(true);
|
||||
StorageSettings.handlePublicVolumeClick(mActivity, volumeInfo);
|
||||
|
||||
verify(mActivity, never()).startActivity(null);
|
||||
verify(mActivity).startActivity(any(Intent.class));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user