- Ranking API is modified to run the ranking asynchronous to the main thread.
Therefore, it can now run in parallel to loading the results from DB
which decreases the overall latency.
- Ranking API now supports reporting failure from the ranker
implementation side.
- Settings that are not ranked by the ranker algorithm are now ranked at
the end of the list. This is added for dynamic settings (e.g., apps).
- Failure handling mechanism is added for cases that ranker catches an
exception or it takes a long time to respond.
Bug: 37312700
Fixes: 36866337
Fixes: 36867476
Fixes: 36866736
Fixes: 36866838
Test: RunSettingsRoboTests
Change-Id: I3a2a97e3a07a8d4afbb090061d92172a27588ee7
This will avoid unnecessary static ranking if smart ranking is used.
Since loader does not need to provided sorted collection of results,
the loading data type has changed from List<> to Set<>. This will also
faster lookup in the Adapter.
Fixes: 38447799
Test: make RunSettingsRoboTests
Change-Id: I448b29bd4e8700c8ec4b5766cbeab4b3087ae39a