Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d523a72f authored by Doris Ling's avatar Doris Ling Committed by android-build-merger
Browse files

Merge "Fix crash when activity not attached after search index finishes." into...

Merge "Fix crash when activity not attached after search index finishes." into oc-dev am: d3e33ebc
am: 93ff2d69

Change-Id: I5d55d343a800b343e3cf859ff4cd4381927d56a2
parents 0e06c31b 93ff2d69
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -292,6 +292,9 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O
     */
    @Override
    public void onIndexingFinished() {
        if (getActivity() == null) {
            return;
        }
        if (mShowingSavedQuery) {
            mSavedQueryController.loadSavedQueries();
        } else {
+17 −0
Original line number Diff line number Diff line
@@ -349,4 +349,21 @@ public class SearchFragmentTest {

        verify(fragment.mSavedQueryController).loadSavedQueries();
    }

    @Test
    public void onIndexingFinished_noActivity_shouldNotCrash() {
        ActivityController<SearchActivity> activityController =
            Robolectric.buildActivity(SearchActivity.class);
        activityController.setup();
        SearchFragment fragment = (SearchFragment) spy(activityController.get().getFragmentManager()
            .findFragmentById(R.id.main_content));
        when(mFeatureFactory.searchFeatureProvider.isIndexingComplete(any(Context.class)))
            .thenReturn(true);
        fragment.mQuery = "bright";
        ReflectionHelpers.setField(fragment, "mLoaderManager", null);
        ReflectionHelpers.setField(fragment, "mHost", null);

        fragment.onIndexingFinished();
        // no crash
    }
}