diff options
| author | 2022-09-10 02:00:05 +0000 | |
|---|---|---|
| committer | 2022-09-10 02:00:05 +0000 | |
| commit | afb238fed9b316e19bc09db73064a84190a4fb89 (patch) | |
| tree | 23fe7ad02ce7e0886cef4d9ce8d98e6b25f406e7 | |
| parent | 4fadc17018827e9519ced37295e72ec141f23723 (diff) | |
| parent | 780d56dae433c48f3f0dec1450f7c74f161b978b (diff) | |
Merge "Fix for: Intent.FLAG_EXCLUDE_STOPPED_PACKAGES has no effect"
| -rw-r--r-- | services/core/java/com/android/server/IntentResolver.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/resolution/ComponentResolver.java | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/IntentResolver.java b/services/core/java/com/android/server/IntentResolver.java index c375c73124da..a1adc6f4aff3 100644 --- a/services/core/java/com/android/server/IntentResolver.java +++ b/services/core/java/com/android/server/IntentResolver.java @@ -35,7 +35,6 @@ import android.util.proto.ProtoOutputStream; import com.android.internal.util.FastPrintWriter; import com.android.server.pm.Computer; -import com.android.server.pm.pkg.PackageStateInternal; import com.android.server.pm.snapshot.PackageDataSnapshot; import java.io.PrintWriter; @@ -566,7 +565,7 @@ public abstract class IntentResolver<F, R extends Object> { * "stopped", that is whether it should not be included in the result * if the intent requests to excluded stopped objects. */ - protected boolean isFilterStopped(PackageStateInternal packageState, @UserIdInt int userId) { + protected boolean isFilterStopped(@NonNull Computer computer, F filter, @UserIdInt int userId) { return false; } @@ -805,8 +804,7 @@ public abstract class IntentResolver<F, R extends Object> { int match; if (debug) Slog.v(TAG, "Matching against filter " + filter); - if (excludingStopped && isFilterStopped(computer.getPackageStateInternal(packageName), - userId)) { + if (excludingStopped && isFilterStopped(computer, filter, userId)) { if (debug) { Slog.v(TAG, " Filter's target is stopped; skipping"); } diff --git a/services/core/java/com/android/server/pm/resolution/ComponentResolver.java b/services/core/java/com/android/server/pm/resolution/ComponentResolver.java index 7baec6217e2e..1d95e8744c47 100644 --- a/services/core/java/com/android/server/pm/resolution/ComponentResolver.java +++ b/services/core/java/com/android/server/pm/resolution/ComponentResolver.java @@ -930,12 +930,14 @@ public class ComponentResolver extends ComponentResolverLocked implements } @Override - protected boolean isFilterStopped(@Nullable PackageStateInternal packageState, + protected boolean isFilterStopped(@NonNull Computer computer, F filter, @UserIdInt int userId) { if (!mUserManager.exists(userId)) { return true; } + final PackageStateInternal packageState = computer.getPackageStateInternal( + filter.first.getPackageName()); if (packageState == null || packageState.getPkg() == null) { return false; } |