Filter and display top 3 suggestions for exclusive type

Change-Id: Ief4c2f02fcf1064dac3659502bd7511b09a2a7df
Fix: 37947647
Test: make RunSettingsRoboTests
This commit is contained in:
Fan Zhang
2017-05-11 15:39:38 -07:00
parent ff18ec37dc
commit 70b634adcf
6 changed files with 52 additions and 7 deletions

View File

@@ -18,17 +18,21 @@ package com.android.settings.dashboard.suggestions;
import android.content.Context;
import android.content.pm.PackageManager;
import android.util.Log;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.SuggestionParser;
import com.android.settingslib.drawer.Tile;
import com.android.settingslib.suggestions.SuggestionParser;
import java.util.List;
public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider {
private static final String TAG = "SuggestionFeature";
private static final int EXCLUSIVE_SUGGESTION_MAX_COUNT = 3;
private final SuggestionRanker mSuggestionRanker;
private final MetricsFeatureProvider mMetricsFeatureProvider;
@@ -61,6 +65,17 @@ public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider
mSuggestionRanker.rankSuggestions(suggestions, suggestionIds);
}
@Override
public void filterExclusiveSuggestions(List<Tile> suggestions) {
if (suggestions == null) {
return;
}
for (int i = suggestions.size() - 1; i >= EXCLUSIVE_SUGGESTION_MAX_COUNT; i--) {
Log.d(TAG, "Removing exclusive suggestion");
suggestions.remove(i);
}
}
@Override
public void dismissSuggestion(Context context, SuggestionParser parser, Tile suggestion) {
if (parser == null || suggestion == null || context == null) {