summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-11-13 19:20:38 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-11-13 19:20:38 +0000
commit8f516adef7ed8861fbe2387c08e3d51b72d3b39c (patch)
treeb4f6bf880dbdac41a92a8d6392c2a372d76442a8
parent6bb4b5ca4370353eb8728264672fab1d0031c006 (diff)
parent9deece9086796e52304db5105fefefad429e336b (diff)
downloadpackages_apps_Settings-android-o-mr1-iot-release-smart-display-r14.tar.gz
packages_apps_Settings-android-o-mr1-iot-release-smart-display-r14.tar.bz2
packages_apps_Settings-android-o-mr1-iot-release-smart-display-r14.zip
-rw-r--r--src/com/android/settings/deviceinfo/StorageSettings.java16
-rw-r--r--tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java12
2 files changed, 27 insertions, 1 deletions
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index 9e4a1e2732..df4a218004 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -144,6 +144,7 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
switch (vol.getType()) {
case VolumeInfo.TYPE_PRIVATE:
case VolumeInfo.TYPE_PUBLIC:
+ case VolumeInfo.TYPE_STUB:
return true;
default:
return false;
@@ -176,7 +177,8 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
final int color = COLOR_PRIVATE[privateCount++ % COLOR_PRIVATE.length];
mInternalCategory.addPreference(
new StorageVolumePreference(context, vol, color, volumeTotalBytes));
- } else if (vol.getType() == VolumeInfo.TYPE_PUBLIC) {
+ } else if (vol.getType() == VolumeInfo.TYPE_PUBLIC
+ || vol.getType() == VolumeInfo.TYPE_STUB) {
mExternalCategory.addPreference(
new StorageVolumePreference(context, vol, COLOR_PUBLIC, 0));
}
@@ -304,6 +306,8 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
} else if (vol.getType() == VolumeInfo.TYPE_PUBLIC) {
return handlePublicVolumeClick(getContext(), vol);
+ } else if (vol.getType() == VolumeInfo.TYPE_STUB) {
+ return handleStubVolumeClick(getContext(), vol);
}
} else if (key.startsWith("disk:")) {
@@ -328,6 +332,16 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
}
@VisibleForTesting
+ static boolean handleStubVolumeClick(Context context, VolumeInfo vol) {
+ final Intent intent = vol.buildBrowseIntent();
+ if (vol.isMountedReadable() && intent != null) {
+ context.startActivity(intent);
+ return true;
+ }
+ return false;
+ }
+
+ @VisibleForTesting
static boolean handlePublicVolumeClick(Context context, VolumeInfo vol) {
final Intent intent = vol.buildBrowseIntent();
if (vol.isMountedReadable() && intent != null) {
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java b/tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java
index 943bd9d263..2142e9a058 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java
@@ -102,4 +102,16 @@ public class StorageSettingsTest {
verify(mActivity, never()).startActivity(null);
verify(mActivity).startActivity(any(Intent.class));
}
+
+ @Test
+ public void handleStubVolumeClick_startsANonNullActivityWhenVolumeHasNoBrowse() {
+ VolumeInfo volumeInfo = mock(VolumeInfo.class, RETURNS_DEEP_STUBS);
+ when(volumeInfo.isMountedReadable()).thenReturn(true);
+
+ StorageSettings.handleStubVolumeClick(mActivity, volumeInfo);
+
+ verify(mActivity, never()).startActivity(null);
+ verify(mActivity).startActivity(any(Intent.class));
+ }
+
}