summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adam Powell <adamp@google.com> 2015-10-21 13:21:28 -0700
committer Adam Powell <adamp@google.com> 2015-10-21 13:21:28 -0700
commit3a09c52914796135159009438a14b51b3e475fb4 (patch)
tree5a364a2a3d406f497a3f64f57419d0561db81726
parent8ba1cdd9464b88375755e1976e4ee0f5620ff5be (diff)
Don't query ChooserTargetService apps that haven't been used recently
Resolver/ChooserActivity sort apps based on usage factors for the last two weeks. A score of zero means no usage data within that timeframe. For system health and UI relevance, don't bother even waking up apps that have zero scores. Bug 25126166 Change-Id: Iae34a9667eb1985d6fe986670f3fb3f1177576da
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index c6b340bbaca5..7699673701f0 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -373,6 +373,11 @@ public class ChooserActivity extends ResolverActivity {
int targetsToQuery = 0;
for (int i = 0, N = adapter.getDisplayResolveInfoCount(); i < N; i++) {
final DisplayResolveInfo dri = adapter.getDisplayResolveInfo(i);
+ if (adapter.getScore(dri) == 0) {
+ // A score of 0 means the app hasn't been used in some time;
+ // don't query it as it's not likely to be relevant.
+ continue;
+ }
final ActivityInfo ai = dri.getResolveInfo().activityInfo;
final Bundle md = ai.metaData;
final String serviceName = md != null ? convertServiceName(ai.packageName,