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

Commit 6db9f212 authored by Fan Zhang's avatar Fan Zhang Committed by Gerrit Code Review
Browse files

Merge "Make migrate option menu invisible when src volume is not mounted"

parents 3ddcb6a9 a88ed48c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -68,7 +68,8 @@ public class PrivateVolumeOptionMenuController implements LifecycleObserver, OnC
        if (migrate != null) {
            migrate.setVisible((privateVol != null)
                    && (privateVol.getType() == VolumeInfo.TYPE_PRIVATE)
                    && !Objects.equals(mVolumeInfo, privateVol));
                    && !Objects.equals(mVolumeInfo, privateVol)
                    && privateVol.isMountedWritable());
        }
    }

+2 −1
Original line number Diff line number Diff line
@@ -415,7 +415,8 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
                .getPrimaryStorageCurrentVolume();
        migrate.setVisible((privateVol != null)
                && (privateVol.getType() == VolumeInfo.TYPE_PRIVATE)
                && !Objects.equals(mVolume, privateVol));
                && !Objects.equals(mVolume, privateVol)
                && privateVol.isMountedWritable());
    }

    @Override
+13 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ public class PrivateVolumeOptionMenuControllerTest {
        MockitoAnnotations.initMocks(this);

        when(mVolumeInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
        when(mVolumeInfo.isMountedWritable()).thenReturn(true);
        when(mPrimaryInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
        when(mMenu.findItem(anyInt())).thenReturn(mMigrateMenuItem);
        when(mMigrateMenuItem.getItemId()).thenReturn(100);
@@ -80,6 +81,7 @@ public class PrivateVolumeOptionMenuControllerTest {
    @Test
    public void testMigrateDataIsNotVisibleNormally() {
        when(mPm.getPrimaryStorageCurrentVolume()).thenReturn(mPrimaryInfo);
        when(mPrimaryInfo.isMountedWritable()).thenReturn(true);

        mController.onCreateOptionsMenu(mMenu, mMenuInflater);
        mController.onPrepareOptionsMenu(mMenu);
@@ -97,6 +99,17 @@ public class PrivateVolumeOptionMenuControllerTest {
        verify(mMigrateMenuItem).setVisible(true);
    }

    @Test
    public void testMigrateDataIsNotVisibleWhenExternalVolumeIsNotMounted() {
        when(mPm.getPrimaryStorageCurrentVolume()).thenReturn(mVolumeInfo);
        when(mVolumeInfo.isMountedWritable()).thenReturn(false);

        mController.onCreateOptionsMenu(mMenu, mMenuInflater);
        mController.onPrepareOptionsMenu(mMenu);

        verify(mMigrateMenuItem).setVisible(false);
    }

    @Test
    public void testMigrateDataGoesToMigrateWizard() {
        when(mPm.getPrimaryStorageCurrentVolume()).thenReturn(mVolumeInfo);