diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java index 26037aba7f8..beb94771d65 100644 --- a/src/com/android/settings/dashboard/DashboardAdapter.java +++ b/src/com/android/settings/dashboard/DashboardAdapter.java @@ -225,7 +225,7 @@ public class DashboardAdapter extends RecyclerView.Adapter suggestions, List suggestionIds); } diff --git a/src/com/android/settings/dashboard/SuggestionFeatureProviderImpl.java b/src/com/android/settings/suggestions/SuggestionFeatureProviderImpl.java similarity index 65% rename from src/com/android/settings/dashboard/SuggestionFeatureProviderImpl.java rename to src/com/android/settings/suggestions/SuggestionFeatureProviderImpl.java index afaf36e73d8..97220dfdf03 100644 --- a/src/com/android/settings/dashboard/SuggestionFeatureProviderImpl.java +++ b/src/com/android/settings/suggestions/SuggestionFeatureProviderImpl.java @@ -14,12 +14,18 @@ * limitations under the License. */ -package com.android.settings.dashboard; +package com.android.settings.suggestions; import android.content.Context; +import com.android.settingslib.drawer.Tile; + +import java.util.List; + public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider { + private final SuggestionRanker mSuggestionRanker; + @Override public boolean isSmartSuggestionEnabled(Context context) { return false; @@ -35,4 +41,15 @@ public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider return false; } + + public SuggestionFeatureProviderImpl(Context context) { + mSuggestionRanker = new SuggestionRanker( + new SuggestionFeaturizer(new EventStore(context.getApplicationContext()))); + } + + @Override + public void rankSuggestions(final List suggestions, List suggestionIds) { + mSuggestionRanker.rankSuggestions(suggestions, suggestionIds); + } + } diff --git a/src/com/android/settings/suggestions/SuggestionRanker.java b/src/com/android/settings/suggestions/SuggestionRanker.java index d0b914088f7..9f9796b8a25 100644 --- a/src/com/android/settings/suggestions/SuggestionRanker.java +++ b/src/com/android/settings/suggestions/SuggestionRanker.java @@ -40,7 +40,7 @@ public class SuggestionRanker { put(SuggestionFeaturizer.FEATURE_TIME_FROM_LAST_SHOWN, 3.18832024515); put(SuggestionFeaturizer.FEATURE_TIME_FROM_LAST_DISMISSED, 1.09902706645); put(SuggestionFeaturizer.FEATURE_TIME_FROM_LAST_CLICKED, 0.262631082877); - put(SuggestionFeaturizer.FEATURE_SHOWN_COUNT, -0.918484103748 * 240); + put(SuggestionFeaturizer.FEATURE_SHOWN_COUNT, -220.4361849); }}; private final SuggestionFeaturizer mSuggestionFeaturizer; @@ -59,7 +59,7 @@ public class SuggestionRanker { relevanceMetrics = new HashMap(); } - public void rank(final List suggestions, List suggestionIds) { + public void rankSuggestions(final List suggestions, List suggestionIds) { relevanceMetrics.clear(); Map> features = mSuggestionFeaturizer.featurize(suggestionIds); for (int i = 0; i < suggestionIds.size(); i++) { diff --git a/tests/robotests/src/com/android/settings/suggestions/SuggestionRankerTest.java b/tests/robotests/src/com/android/settings/suggestions/SuggestionRankerTest.java index e1807a89a02..086161b99c6 100644 --- a/tests/robotests/src/com/android/settings/suggestions/SuggestionRankerTest.java +++ b/tests/robotests/src/com/android/settings/suggestions/SuggestionRankerTest.java @@ -87,7 +87,7 @@ public class SuggestionRankerTest { add(mSuggestions.get(1)); // relevance = 0.1 } }; - mSuggestionRanker.rank(mSuggestions, mPkgNames); + mSuggestionRanker.rankSuggestions(mSuggestions, mPkgNames); assertThat(mSuggestions).isEqualTo(expectedOrderdList); } } diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java index b5a2fe06f2c..a7eca0d701b 100644 --- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java +++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java @@ -20,7 +20,6 @@ import android.content.Context; import com.android.settings.applications.ApplicationFeatureProvider; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.dashboard.DashboardFeatureProvider; -import com.android.settings.dashboard.SuggestionFeatureProvider; import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.gestures.AssistGestureFeatureProvider; @@ -28,6 +27,7 @@ import com.android.settings.localepicker.LocaleFeatureProvider; import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.SupportFeatureProvider; import com.android.settings.security.SecurityFeatureProvider; +import com.android.settings.suggestions.SuggestionFeatureProvider; import com.android.settings.search2.SearchFeatureProvider; import com.android.settings.overlay.SurveyFeatureProvider; @@ -90,7 +90,7 @@ public class FakeFeatureFactory extends FeatureFactory { } @Override - public SuggestionFeatureProvider getSuggestionFeatureProvider() { + public SuggestionFeatureProvider getSuggestionFeatureProvider(Context context) { return suggestionsFeatureProvider; }