Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ebf61cd authored by Risan's avatar Risan Committed by android-build-merger
Browse files

Merge "Allow StubVolume to be browseable in Settings" am: 8f516ade am: e613923d

am: 1670c69b

Change-Id: Id567d995f6f25a46225a2080609048051cca2337
parents 034e218d 1670c69b
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -146,6 +146,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;
@@ -178,7 +179,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));
            }
@@ -306,6 +308,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:")) {
@@ -329,6 +333,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();
+12 −0
Original line number Diff line number Diff line
@@ -66,4 +66,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));
    }

}