diff options
| -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() { |