Fix not delivering result to fragment using SubSettingLauncher
- Call Fragment.startActivityForResult instead of Activity's one Test: make RunSettingsRoboTests Test: App info page is closed instantly after uninstalling the package Change-Id: If29c097c988101f89dcd9d0a5c1c68deed04eaa9
This commit is contained in:
@@ -164,7 +164,7 @@ public class SubSettingLauncher {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void launchForResult(Fragment listener, Intent intent, int requestCode) {
|
private void launchForResult(Fragment listener, Intent intent, int requestCode) {
|
||||||
listener.getActivity().startActivityForResult(intent, requestCode);
|
listener.startActivityForResult(intent, requestCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -337,7 +337,6 @@ public final class AppInfoDashboardFragmentTest {
|
|||||||
public void startAppInfoFragment_includesNewAndOldArgs() {
|
public void startAppInfoFragment_includesNewAndOldArgs() {
|
||||||
final SettingsPreferenceFragment caller = mock(SettingsPreferenceFragment.class);
|
final SettingsPreferenceFragment caller = mock(SettingsPreferenceFragment.class);
|
||||||
final SettingsActivity sa = mock (SettingsActivity.class);
|
final SettingsActivity sa = mock (SettingsActivity.class);
|
||||||
when(caller.getActivity()).thenReturn(sa);
|
|
||||||
when(caller.getContext()).thenReturn(sa);
|
when(caller.getContext()).thenReturn(sa);
|
||||||
final AppEntry appEntry = mock(AppEntry.class);
|
final AppEntry appEntry = mock(AppEntry.class);
|
||||||
appEntry.info = mock(ApplicationInfo.class);
|
appEntry.info = mock(ApplicationInfo.class);
|
||||||
@@ -350,7 +349,7 @@ public final class AppInfoDashboardFragmentTest {
|
|||||||
|
|
||||||
final ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
|
final ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
|
||||||
|
|
||||||
verify(sa).startActivityForResult(intent.capture(), any(Integer.class));
|
verify(caller).startActivityForResult(intent.capture(), any(Integer.class));
|
||||||
assertThat(intent.getValue().getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)
|
assertThat(intent.getValue().getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)
|
||||||
.containsKey("test"))
|
.containsKey("test"))
|
||||||
.isTrue();
|
.isTrue();
|
||||||
|
@@ -93,7 +93,7 @@ public class AppInfoPreferenceControllerBaseTest {
|
|||||||
mController.handlePreferenceTreeClick(mPreference);
|
mController.handlePreferenceTreeClick(mPreference);
|
||||||
final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
|
final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
|
||||||
|
|
||||||
verify(mActivity).startActivityForResult(intentCaptor.capture(), eq(SUB_INFO_FRAGMENT));
|
verify(mFragment).startActivityForResult(intentCaptor.capture(), eq(SUB_INFO_FRAGMENT));
|
||||||
assertThat(intentCaptor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
|
assertThat(intentCaptor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
|
||||||
.isEqualTo(mController.getDetailFragmentClass().getName());
|
.isEqualTo(mController.getDetailFragmentClass().getName());
|
||||||
}
|
}
|
||||||
|
@@ -121,7 +121,7 @@ public class SubSettingLauncherTest {
|
|||||||
.setResultListener(mFragment, requestCode)
|
.setResultListener(mFragment, requestCode)
|
||||||
.launch();
|
.launch();
|
||||||
|
|
||||||
verify(mActivity).startActivityForResult(any(Intent.class), eq(requestCode));
|
verify(mFragment).startActivityForResult(any(Intent.class), eq(requestCode));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user