Merge "Add new method to preference controller base for dynamic index."

This commit is contained in:
Stanley Wang
2019-11-19 09:09:00 +00:00
committed by Android (Google) Code Review
4 changed files with 57 additions and 3 deletions

View File

@@ -28,6 +28,7 @@ import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.search.SearchIndexableRaw;
import org.junit.Before;
import org.junit.Test;
@@ -77,6 +78,12 @@ public class BaseSearchIndexProviderTest {
public String getPreferenceKey() {
return TEST_PREF_KEY;
}
@Override
public void updateDynamicRawDataToIndex(List<SearchIndexableRaw> rawData) {
final SearchIndexableRaw raw = new SearchIndexableRaw(this.mContext);
rawData.add(raw);
}
}
@Test
@@ -190,4 +197,18 @@ public class BaseSearchIndexProviderTest {
assertThat(nonIndexableKeys).contains("pref_key_5");
}
@Test
public void getDynamicRawDataToIndex_noPreferenceController_shouldReturnEmptyList() {
assertThat(mIndexProvider.getDynamicRawDataToIndex(mContext, true)).isEmpty();
}
@Test
public void getDynamicRawDataToIndex_hasDynamicRaw_shouldNotEmpty() {
List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new AvailablePreferenceController(mContext));
doReturn(controllers).when(mIndexProvider).createPreferenceControllers(mContext);
assertThat(mIndexProvider.getDynamicRawDataToIndex(mContext, true)).isNotEmpty();
}
}