Merge "Make migrate option menu invisible when src volume is not mounted" am: 6db9f21256 am: b084c60686

am: 4036866211

Change-Id: I25f21e3c176e225db6900d3c93b6a8860e701061
This commit is contained in:
Fan Zhang
2018-12-04 10:15:02 -08:00
committed by android-build-merger
3 changed files with 17 additions and 2 deletions

View File

@@ -67,7 +67,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());
} }
} }

View File

@@ -416,7 +416,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

View File

@@ -64,6 +64,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);
@@ -82,6 +83,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);
@@ -99,6 +101,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);