Merge "Fix not delivering result to fragment using SubSettingLauncher"

This commit is contained in:
Victor Chang
2018-02-28 10:59:36 +00:00
committed by Android (Google) Code Review
4 changed files with 4 additions and 5 deletions

View File

@@ -164,7 +164,7 @@ public class SubSettingLauncher {
}
private void launchForResult(Fragment listener, Intent intent, int requestCode) {
listener.getActivity().startActivityForResult(intent, requestCode);
listener.startActivityForResult(intent, requestCode);
}
/**

View File

@@ -335,7 +335,6 @@ public final class AppInfoDashboardFragmentTest {
public void startAppInfoFragment_includesNewAndOldArgs() {
final SettingsPreferenceFragment caller = mock(SettingsPreferenceFragment.class);
final SettingsActivity sa = mock (SettingsActivity.class);
when(caller.getActivity()).thenReturn(sa);
when(caller.getContext()).thenReturn(sa);
final AppEntry appEntry = mock(AppEntry.class);
appEntry.info = mock(ApplicationInfo.class);
@@ -348,7 +347,7 @@ public final class AppInfoDashboardFragmentTest {
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)
.containsKey("test"))
.isTrue();

View File

@@ -93,7 +93,7 @@ public class AppInfoPreferenceControllerBaseTest {
mController.handlePreferenceTreeClick(mPreference);
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))
.isEqualTo(mController.getDetailFragmentClass().getName());
}

View File

@@ -121,7 +121,7 @@ public class SubSettingLauncherTest {
.setResultListener(mFragment, requestCode)
.launch();
verify(mActivity).startActivityForResult(any(Intent.class), eq(requestCode));
verify(mFragment).startActivityForResult(any(Intent.class), eq(requestCode));
}
@Test