Add an open button in App info page.

Per new UX, we need to add an "Open" button
in App info page. When user clicks this button,
it will launch application.

Test: visual, robotest
Bug: 116346008
Change-Id: Ic4a36979d08bf8d58f792474cd3c9b34a147fef8
This commit is contained in:
tmfang
2018-11-29 23:35:26 +08:00
parent 5674e02732
commit 72b25d65d3
2 changed files with 65 additions and 33 deletions

View File

@@ -100,9 +100,8 @@ public class AppButtonsPreferenceControllerTest {
@Mock
private PackageInfo mPackageInfo;
private ActionButtonsPreference mButtonPrefs;
private Intent mUninstallIntent;
private ActionButtonsPreference mButtonPrefs;
private AppButtonsPreferenceController mController;
@Before
@@ -175,6 +174,22 @@ public class AppButtonsPreferenceControllerTest {
assertThat(mController.mPackageInfo).isNull();
}
@Test
public void updateOpenButton_noLaunchIntent_buttonShouldBeDisable() {
mController.updateOpenButton();
verify(mButtonPrefs).setButton1Visible(false);
}
@Test
public void updateOpenButton_haveLaunchIntent_buttonShouldBeEnable() {
doReturn(new Intent()).when(mPackageManger).getLaunchIntentForPackage(anyString());
mController.updateOpenButton();
verify(mButtonPrefs).setButton1Visible(true);
}
@Test
public void updateUninstallButton_isSystemApp_handleAsDisableableButton() {
doReturn(false).when(mController).handleDisableable();
@@ -183,7 +198,7 @@ public class AppButtonsPreferenceControllerTest {
mController.updateUninstallButton();
verify(mController).handleDisableable();
verify(mButtonPrefs).setButton1Enabled(false);
verify(mButtonPrefs).setButton2Enabled(false);
}
@Test
@@ -221,7 +236,7 @@ public class AppButtonsPreferenceControllerTest {
mController.updateUninstallButton();
verify(mController).handleDisableable();
verify(mButtonPrefs).setButton1Enabled(false);
verify(mButtonPrefs).setButton2Enabled(false);
}
@Test
@@ -230,7 +245,7 @@ public class AppButtonsPreferenceControllerTest {
mController.updateUninstallButton();
verify(mButtonPrefs).setButton1Enabled(false);
verify(mButtonPrefs).setButton2Enabled(false);
}
@Test
@@ -240,7 +255,7 @@ public class AppButtonsPreferenceControllerTest {
mController.updateUninstallButton();
verify(mButtonPrefs).setButton1Enabled(false);
verify(mButtonPrefs).setButton2Enabled(false);
}
@Test
@@ -249,7 +264,7 @@ public class AppButtonsPreferenceControllerTest {
mController.updateUninstallButton();
verify(mButtonPrefs).setButton1Enabled(false);
verify(mButtonPrefs).setButton2Enabled(false);
}
@Test
@@ -259,7 +274,7 @@ public class AppButtonsPreferenceControllerTest {
mController.updateUninstallButton();
verify(mButtonPrefs).setButton1Enabled(false);
verify(mButtonPrefs).setButton2Enabled(false);
}
@Test
@@ -309,7 +324,7 @@ public class AppButtonsPreferenceControllerTest {
final boolean controllable = mController.handleDisableable();
verify(mButtonPrefs).setButton1Text(R.string.uninstall_text);
verify(mButtonPrefs).setButton2Text(R.string.uninstall_text);
assertThat(controllable).isFalse();
}
@@ -321,7 +336,7 @@ public class AppButtonsPreferenceControllerTest {
final boolean controllable = mController.handleDisableable();
verify(mButtonPrefs).setButton1Text(R.string.uninstall_text);
verify(mButtonPrefs).setButton2Text(R.string.uninstall_text);
assertThat(controllable).isTrue();
}
@@ -333,7 +348,7 @@ public class AppButtonsPreferenceControllerTest {
final boolean controllable = mController.handleDisableable();
verify(mButtonPrefs).setButton1Text(R.string.install_text);
verify(mButtonPrefs).setButton2Text(R.string.install_text);
assertThat(controllable).isTrue();
}
@@ -394,11 +409,11 @@ public class AppButtonsPreferenceControllerTest {
private ActionButtonsPreference createMock() {
final ActionButtonsPreference pref = mock(ActionButtonsPreference.class);
when(pref.setButton1Text(anyInt())).thenReturn(pref);
when(pref.setButton1Icon(anyInt())).thenReturn(pref);
when(pref.setButton1Enabled(anyBoolean())).thenReturn(pref);
when(pref.setButton1Visible(anyBoolean())).thenReturn(pref);
when(pref.setButton1OnClickListener(any(View.OnClickListener.class))).thenReturn(pref);
when(pref.setButton2Text(anyInt())).thenReturn(pref);
when(pref.setButton2Icon(anyInt())).thenReturn(pref);
when(pref.setButton2Enabled(anyBoolean())).thenReturn(pref);
when(pref.setButton2Visible(anyBoolean())).thenReturn(pref);
when(pref.setButton2OnClickListener(any(View.OnClickListener.class))).thenReturn(pref);
return pref;
}