Loading src/com/android/settings/search2/DatabaseResultLoader.java +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.text.TextUtils; import com.android.settings.dashboard.SiteMapManager; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.IndexDatabaseHelper; Loading Loading @@ -162,6 +163,9 @@ public class DatabaseResultLoader extends AsyncLoader<List<SearchResult>> { * @return the cleaned query string */ private static String cleanQuery(String query) { if (TextUtils.isEmpty(query)) { return null; } return query.trim(); } Loading tests/robotests/src/com/android/settings/search2/SearchFragmentTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.settings.search2; import android.content.Context; import android.content.Loader; import android.os.Bundle; import com.android.internal.logging.nano.MetricsProto; Loading @@ -35,6 +36,9 @@ import org.robolectric.Robolectric; import org.robolectric.annotation.Config; import org.robolectric.util.ActivityController; import java.util.List; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; Loading Loading @@ -96,6 +100,28 @@ public class SearchFragmentTest { .getInstalledAppSearchLoader(any(Context.class), anyString()); } @Test public void screenRotateEmptyString_ShouldNotCrash() { final Bundle bundle = new Bundle(); ActivityController<SearchActivity> activityController = Robolectric.buildActivity(SearchActivity.class); activityController.setup(); SearchFragment fragment = (SearchFragment) activityController.get().getFragmentManager() .findFragmentById(R.id.main_content); fragment.mQuery = ""; activityController.saveInstanceState(bundle).pause().stop().destroy(); activityController = Robolectric.buildActivity(SearchActivity.class); activityController.setup(bundle); verify(mFeatureFactory.searchFeatureProvider) .getDatabaseSearchLoader(any(Context.class), anyString()); verify(mFeatureFactory.searchFeatureProvider) .getInstalledAppSearchLoader(any(Context.class), anyString()); } @Test public void queryTextChange_shouldTriggerLoader() { final String testQuery = "test"; Loading Loading
src/com/android/settings/search2/DatabaseResultLoader.java +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.text.TextUtils; import com.android.settings.dashboard.SiteMapManager; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.IndexDatabaseHelper; Loading Loading @@ -162,6 +163,9 @@ public class DatabaseResultLoader extends AsyncLoader<List<SearchResult>> { * @return the cleaned query string */ private static String cleanQuery(String query) { if (TextUtils.isEmpty(query)) { return null; } return query.trim(); } Loading
tests/robotests/src/com/android/settings/search2/SearchFragmentTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.settings.search2; import android.content.Context; import android.content.Loader; import android.os.Bundle; import com.android.internal.logging.nano.MetricsProto; Loading @@ -35,6 +36,9 @@ import org.robolectric.Robolectric; import org.robolectric.annotation.Config; import org.robolectric.util.ActivityController; import java.util.List; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; Loading Loading @@ -96,6 +100,28 @@ public class SearchFragmentTest { .getInstalledAppSearchLoader(any(Context.class), anyString()); } @Test public void screenRotateEmptyString_ShouldNotCrash() { final Bundle bundle = new Bundle(); ActivityController<SearchActivity> activityController = Robolectric.buildActivity(SearchActivity.class); activityController.setup(); SearchFragment fragment = (SearchFragment) activityController.get().getFragmentManager() .findFragmentById(R.id.main_content); fragment.mQuery = ""; activityController.saveInstanceState(bundle).pause().stop().destroy(); activityController = Robolectric.buildActivity(SearchActivity.class); activityController.setup(bundle); verify(mFeatureFactory.searchFeatureProvider) .getDatabaseSearchLoader(any(Context.class), anyString()); verify(mFeatureFactory.searchFeatureProvider) .getInstalledAppSearchLoader(any(Context.class), anyString()); } @Test public void queryTextChange_shouldTriggerLoader() { final String testQuery = "test"; Loading