Merge "Make migrate option menu invisible when src volume is not mounted"
This commit is contained in:
@@ -68,7 +68,8 @@ public class PrivateVolumeOptionMenuController implements LifecycleObserver, OnC
|
|||||||
if (migrate != null) {
|
if (migrate != null) {
|
||||||
migrate.setVisible((privateVol != null)
|
migrate.setVisible((privateVol != null)
|
||||||
&& (privateVol.getType() == VolumeInfo.TYPE_PRIVATE)
|
&& (privateVol.getType() == VolumeInfo.TYPE_PRIVATE)
|
||||||
&& !Objects.equals(mVolumeInfo, privateVol));
|
&& !Objects.equals(mVolumeInfo, privateVol)
|
||||||
|
&& privateVol.isMountedWritable());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -415,7 +415,8 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
.getPrimaryStorageCurrentVolume();
|
.getPrimaryStorageCurrentVolume();
|
||||||
migrate.setVisible((privateVol != null)
|
migrate.setVisible((privateVol != null)
|
||||||
&& (privateVol.getType() == VolumeInfo.TYPE_PRIVATE)
|
&& (privateVol.getType() == VolumeInfo.TYPE_PRIVATE)
|
||||||
&& !Objects.equals(mVolume, privateVol));
|
&& !Objects.equals(mVolume, privateVol)
|
||||||
|
&& privateVol.isMountedWritable());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -62,6 +62,7 @@ public class PrivateVolumeOptionMenuControllerTest {
|
|||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
when(mVolumeInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
|
when(mVolumeInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
|
||||||
|
when(mVolumeInfo.isMountedWritable()).thenReturn(true);
|
||||||
when(mPrimaryInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
|
when(mPrimaryInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
|
||||||
when(mMenu.findItem(anyInt())).thenReturn(mMigrateMenuItem);
|
when(mMenu.findItem(anyInt())).thenReturn(mMigrateMenuItem);
|
||||||
when(mMigrateMenuItem.getItemId()).thenReturn(100);
|
when(mMigrateMenuItem.getItemId()).thenReturn(100);
|
||||||
@@ -80,6 +81,7 @@ public class PrivateVolumeOptionMenuControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testMigrateDataIsNotVisibleNormally() {
|
public void testMigrateDataIsNotVisibleNormally() {
|
||||||
when(mPm.getPrimaryStorageCurrentVolume()).thenReturn(mPrimaryInfo);
|
when(mPm.getPrimaryStorageCurrentVolume()).thenReturn(mPrimaryInfo);
|
||||||
|
when(mPrimaryInfo.isMountedWritable()).thenReturn(true);
|
||||||
|
|
||||||
mController.onCreateOptionsMenu(mMenu, mMenuInflater);
|
mController.onCreateOptionsMenu(mMenu, mMenuInflater);
|
||||||
mController.onPrepareOptionsMenu(mMenu);
|
mController.onPrepareOptionsMenu(mMenu);
|
||||||
@@ -97,6 +99,17 @@ public class PrivateVolumeOptionMenuControllerTest {
|
|||||||
verify(mMigrateMenuItem).setVisible(true);
|
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
|
@Test
|
||||||
public void testMigrateDataGoesToMigrateWizard() {
|
public void testMigrateDataGoesToMigrateWizard() {
|
||||||
when(mPm.getPrimaryStorageCurrentVolume()).thenReturn(mVolumeInfo);
|
when(mPm.getPrimaryStorageCurrentVolume()).thenReturn(mVolumeInfo);
|
||||||
|
Reference in New Issue
Block a user