diff options
| -rw-r--r-- | core/java/com/android/internal/app/ResolverActivity.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java index 1e26c92dd764..b746acb7cf09 100644 --- a/core/java/com/android/internal/app/ResolverActivity.java +++ b/core/java/com/android/internal/app/ResolverActivity.java @@ -1322,6 +1322,14 @@ public class ResolverActivity extends Activity { PackageManager.MATCH_DEFAULT_ONLY | (shouldGetResolvedFilter ? PackageManager.GET_RESOLVED_FILTER : 0) | (shouldGetActivityMetadata ? PackageManager.GET_META_DATA : 0)); + // Remove any activities that are not exported. + int totalSize = infos.size(); + for (int j = totalSize - 1; j >= 0 ; j--) { + ResolveInfo info = infos.get(j); + if (info.activityInfo != null && !info.activityInfo.exported) { + infos.remove(j); + } + } if (infos != null) { if (currentResolveList == null) { currentResolveList = mOrigResolveList = new ArrayList<>(); |