Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92269e5e authored by Patrick Baumann's avatar Patrick Baumann Committed by android-build-merger
Browse files

Merge "DO NOT MERGE Avoids deadlock when applying preferred activities"

am: 35dd014a

Change-Id: I9b4646c9c0674380e37eea44a226b1b279b53f6b
parents 080ddd5d 35dd014a
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -414,6 +414,17 @@ public abstract class PackageManagerInternal {
    public abstract List<ResolveInfo> queryIntentActivities(Intent intent,
            @ResolveInfoFlags int flags, int filterCallingUid, int userId);

    /**
     * Retrieve all activities that can be performed for the given intent.
     * @param filterCallingUid The results will be filtered in the context of this UID instead
     * of the calling UID.
     * @see PackageManager#queryIntentActivities(Intent, int)
     */
    public abstract List<ResolveInfo> queryIntentActivities(
            Intent intent, @Nullable String resolvedType, @ResolveInfoFlags int flags,
            int filterCallingUid, int userId);


    /**
     * Retrieve all services that can be performed for the given intent.
     * @see PackageManager#queryIntentServices(Intent, int)
+6 −0
Original line number Diff line number Diff line
@@ -24548,6 +24548,12 @@ public class PackageManagerService extends IPackageManager.Stub
        public List<ResolveInfo> queryIntentActivities(
                Intent intent, int flags, int filterCallingUid, int userId) {
            final String resolvedType = intent.resolveTypeIfNeeded(mContext.getContentResolver());
            return queryIntentActivities(intent, resolvedType, flags, filterCallingUid, userId);
        }
        @Override
        public List<ResolveInfo> queryIntentActivities(
                Intent intent, String resolvedType, int flags, int filterCallingUid, int userId) {
            return PackageManagerService.this
                    .queryIntentActivitiesInternal(intent, resolvedType, flags, filterCallingUid,
                            userId, false /*resolveForStart*/, true /*allowDynamicSplits*/);
+2 −1
Original line number Diff line number Diff line
@@ -3337,7 +3337,8 @@ public final class Settings {
            int flags, ComponentName cn, String scheme, PatternMatcher ssp,
            IntentFilter.AuthorityEntry auth, PatternMatcher path, int userId) {
        final List<ResolveInfo> ri =
                pmInternal.queryIntentActivities(intent, flags, Binder.getCallingUid(), 0);
                pmInternal.queryIntentActivities(
                        intent, intent.getType(), flags, Binder.getCallingUid(), 0);
        if (PackageManagerService.DEBUG_PREFERRED) {
            Log.d(TAG, "Queried " + intent + " results: " + ri);
        }