diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-06-11 13:56:11 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-06-11 13:56:11 +0000 |
commit | d5fe3bf3acc6a9d01554ab532c5cd76e508fe2d9 (patch) | |
tree | 033e039d21f42b747f627077852a76207610ec6e /services/people | |
parent | 5c4ad7091e38e7df7e67aac282898445cae1d141 (diff) | |
parent | a4157a3b3bd13b9dd8f9d633aa0d4d26a10735da (diff) |
Merge "Factor native ranks provided by apps into shortcut targets ranking. This would help rank shortcuts targets properly when there is no enough sharing history on them." into rvc-dev
Diffstat (limited to 'services/people')
-rw-r--r-- | services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java b/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java index 2e60f2afcdea..236ac8407faa 100644 --- a/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java +++ b/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java @@ -16,6 +16,8 @@ package com.android.server.people.prediction; +import static java.util.Collections.reverseOrder; + import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UserIdInt; @@ -39,6 +41,7 @@ import com.android.server.people.data.PackageData; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.List; import java.util.function.Consumer; @@ -85,7 +88,9 @@ class ShareTargetPredictor extends AppTargetPredictor { List<ShareTarget> shareTargets = getDirectShareTargets(); SharesheetModelScorer.computeScore(shareTargets, getShareEventType(mIntentFilter), System.currentTimeMillis()); - Collections.sort(shareTargets, (t1, t2) -> -Float.compare(t1.getScore(), t2.getScore())); + Collections.sort(shareTargets, + Comparator.comparing(ShareTarget::getScore, reverseOrder()) + .thenComparing(t -> t.getAppTarget().getRank())); List<AppTarget> res = new ArrayList<>(); for (int i = 0; i < Math.min(getPredictionContext().getPredictedTargetCount(), shareTargets.size()); i++) { @@ -135,6 +140,7 @@ class ShareTargetPredictor extends AppTargetPredictor { new AppTargetId(shortcutInfo.getId()), shortcutInfo) .setClassName(shareShortcut.getTargetComponent().getClassName()) + .setRank(shortcutInfo.getRank()) .build(); String packageName = shortcutInfo.getPackage(); int userId = shortcutInfo.getUserId(); |