diff options
author | Xiaohui Chen <xiaohuic@google.com> | 2017-02-14 14:55:07 -0800 |
---|---|---|
committer | gitbuildkicker <android-build@google.com> | 2017-02-16 14:42:26 -0800 |
commit | c10c3de4dfc50bb1c3397abb0dc2d94bba8d3c00 (patch) | |
tree | e7eefdd3de1a0d755e23403d15dffb6e7ffdbf92 | |
parent | 52d14277d9903760f9a5f55351b61868df857859 (diff) | |
download | base-c10c3de4dfc50bb1c3397abb0dc2d94bba8d3c00.tar.gz |
ReolverActivity: try auto launching single choice
We already does this on start. Now we also do the same when
the list of options changes.
Test: locally on device
Bug: 34470067
Change-Id: Ib184d67b532c5afd584fb9cd52daac69a7c50d0a
(cherry picked from commit 393c8018a1123f869698269e678876e03a5160ba)
-rw-r--r-- | core/java/com/android/internal/app/ResolverActivity.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java index b746acb7cf09..0010073a2e91 100644 --- a/core/java/com/android/internal/app/ResolverActivity.java +++ b/core/java/com/android/internal/app/ResolverActivity.java @@ -124,6 +124,13 @@ public class ResolverActivity extends Activity { bindProfileView(); } } + + @Override + public boolean onPackageChanged(String packageName, int uid, String[] components) { + // We care about all package changes, not just the whole package itself which is + // default behavior. + return true; + } }; /** @@ -1502,7 +1509,15 @@ public class ResolverActivity extends Activity { } public void onListRebuilt() { - // This space for rent + int count = getUnfilteredCount(); + if (count == 1 && getOtherProfile() == null) { + // Only one target, so we're a candidate to auto-launch! + final TargetInfo target = targetInfoForPosition(0, false); + if (shouldAutoLaunchSingleChoice(target)) { + safelyStartActivity(target); + finish(); + } + } } public boolean shouldGetResolvedFilter() { |