Loading src/com/android/settings/search/SearchFragment.java +7 −3 Original line number Diff line number Diff line Loading @@ -106,7 +106,8 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O RecyclerView mResultsRecyclerView; @VisibleForTesting SearchView mSearchView; private LinearLayout mNoResultsView; @VisibleForTesting LinearLayout mNoResultsView; @VisibleForTesting final RecyclerView.OnScrollListener mScrollListener = new RecyclerView.OnScrollListener() { Loading Loading @@ -215,8 +216,9 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O final boolean isEmptyQuery = TextUtils.isEmpty(query); // Hide no-results-view when the new query is not a super-string of the previous if ((mQuery != null) && (mNoResultsView.getVisibility() == View.VISIBLE) && (query.length() < mQuery.length())) { if (mQuery != null && mNoResultsView.getVisibility() == View.VISIBLE && query.length() < mQuery.length()) { mNoResultsView.setVisibility(View.GONE); } Loading Loading @@ -311,6 +313,8 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O public void onSearchResultsDisplayed(int resultCount) { if (resultCount == 0) { mNoResultsView.setVisibility(View.VISIBLE); mMetricsFeatureProvider.visible(getContext(), getMetricsCategory(), MetricsEvent.SETTINGS_SEARCH_NO_RESULT); } else { mNoResultsView.setVisibility(View.GONE); mResultsRecyclerView.scrollToPosition(0); Loading tests/robotests/src/com/android/settings/search/SearchFragmentTest.java +18 −2 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import java.util.Set; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.argThat; import static org.mockito.Matchers.eq; Loading Loading @@ -90,8 +91,7 @@ public class SearchFragmentTest { public void setUp() { MockitoAnnotations.initMocks(this); FakeFeatureFactory.setupForTest(mContext); mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext); mFeatureFactory = FakeFeatureFactory.setupForTest(mContext); } @After Loading Loading @@ -195,6 +195,22 @@ public class SearchFragmentTest { assertThat(mQueryCaptor.getValue()).isEqualTo(testQuery); } @Test public void onSearchResultsDisplayed_noResult_shouldShowNoResultView() { ActivityController<SearchActivity> activityController = Robolectric.buildActivity(SearchActivity.class); activityController.setup(); SearchFragment fragment = spy((SearchFragment) activityController.get().getFragmentManager() .findFragmentById(R.id.main_content)); fragment.onSearchResultsDisplayed(0 /* count */); assertThat(fragment.mNoResultsView.getVisibility()).isEqualTo(View.VISIBLE); verify(mFeatureFactory.metricsFeatureProvider).visible( any(Context.class), anyInt(), eq(MetricsProto.MetricsEvent.SETTINGS_SEARCH_NO_RESULT)); } @Test public void queryTextChangeToEmpty_shouldLoadSavedQueryAndNotInitializeSearch() { when(mFeatureFactory.searchFeatureProvider Loading tests/robotests/src/com/android/settings/search/SearchResultsAdapterTest.java +6 −10 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import com.android.settings.TestConfig; import com.android.settings.search.SearchResult.Builder; import com.android.settings.search.ranking.SearchResultsRankerCallback; import static org.junit.Assert.assertNull; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -43,15 +42,6 @@ import org.robolectric.Robolectric; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowLooper; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyList; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; Loading @@ -60,6 +50,12 @@ import java.util.Objects; import java.util.Set; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) Loading Loading
src/com/android/settings/search/SearchFragment.java +7 −3 Original line number Diff line number Diff line Loading @@ -106,7 +106,8 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O RecyclerView mResultsRecyclerView; @VisibleForTesting SearchView mSearchView; private LinearLayout mNoResultsView; @VisibleForTesting LinearLayout mNoResultsView; @VisibleForTesting final RecyclerView.OnScrollListener mScrollListener = new RecyclerView.OnScrollListener() { Loading Loading @@ -215,8 +216,9 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O final boolean isEmptyQuery = TextUtils.isEmpty(query); // Hide no-results-view when the new query is not a super-string of the previous if ((mQuery != null) && (mNoResultsView.getVisibility() == View.VISIBLE) && (query.length() < mQuery.length())) { if (mQuery != null && mNoResultsView.getVisibility() == View.VISIBLE && query.length() < mQuery.length()) { mNoResultsView.setVisibility(View.GONE); } Loading Loading @@ -311,6 +313,8 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O public void onSearchResultsDisplayed(int resultCount) { if (resultCount == 0) { mNoResultsView.setVisibility(View.VISIBLE); mMetricsFeatureProvider.visible(getContext(), getMetricsCategory(), MetricsEvent.SETTINGS_SEARCH_NO_RESULT); } else { mNoResultsView.setVisibility(View.GONE); mResultsRecyclerView.scrollToPosition(0); Loading
tests/robotests/src/com/android/settings/search/SearchFragmentTest.java +18 −2 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import java.util.Set; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.argThat; import static org.mockito.Matchers.eq; Loading Loading @@ -90,8 +91,7 @@ public class SearchFragmentTest { public void setUp() { MockitoAnnotations.initMocks(this); FakeFeatureFactory.setupForTest(mContext); mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext); mFeatureFactory = FakeFeatureFactory.setupForTest(mContext); } @After Loading Loading @@ -195,6 +195,22 @@ public class SearchFragmentTest { assertThat(mQueryCaptor.getValue()).isEqualTo(testQuery); } @Test public void onSearchResultsDisplayed_noResult_shouldShowNoResultView() { ActivityController<SearchActivity> activityController = Robolectric.buildActivity(SearchActivity.class); activityController.setup(); SearchFragment fragment = spy((SearchFragment) activityController.get().getFragmentManager() .findFragmentById(R.id.main_content)); fragment.onSearchResultsDisplayed(0 /* count */); assertThat(fragment.mNoResultsView.getVisibility()).isEqualTo(View.VISIBLE); verify(mFeatureFactory.metricsFeatureProvider).visible( any(Context.class), anyInt(), eq(MetricsProto.MetricsEvent.SETTINGS_SEARCH_NO_RESULT)); } @Test public void queryTextChangeToEmpty_shouldLoadSavedQueryAndNotInitializeSearch() { when(mFeatureFactory.searchFeatureProvider Loading
tests/robotests/src/com/android/settings/search/SearchResultsAdapterTest.java +6 −10 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import com.android.settings.TestConfig; import com.android.settings.search.SearchResult.Builder; import com.android.settings.search.ranking.SearchResultsRankerCallback; import static org.junit.Assert.assertNull; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -43,15 +42,6 @@ import org.robolectric.Robolectric; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowLooper; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyList; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; Loading @@ -60,6 +50,12 @@ import java.util.Objects; import java.util.Set; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) Loading