Loading src/com/android/settings/deviceinfo/StorageSettings.java +15 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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)); } Loading Loading @@ -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:")) { Loading @@ -327,6 +331,16 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index return false; } @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(); Loading tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -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)); } } Loading
src/com/android/settings/deviceinfo/StorageSettings.java +15 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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)); } Loading Loading @@ -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:")) { Loading @@ -327,6 +331,16 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index return false; } @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(); Loading
tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -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)); } }