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

Commit ad724f61 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Rebase enabled overlays for every PackageParser.generateActivityInfo() call" into oc-dev

parents 4e745fd4 467ef375
Loading
Loading
Loading
Loading
+23 −12
Original line number Original line Diff line number Diff line
@@ -4084,6 +4084,24 @@ public class PackageManagerService extends IPackageManager.Stub {
        return updateFlagsForComponent(flags, userId, intent /*cookie*/);
        return updateFlagsForComponent(flags, userId, intent /*cookie*/);
    }
    }
    private ActivityInfo generateActivityInfo(ActivityInfo ai, int flags, PackageUserState state,
            int userId) {
        ActivityInfo ret = PackageParser.generateActivityInfo(ai, flags, state, userId);
        if (ret != null) {
            rebaseEnabledOverlays(ret.applicationInfo, userId);
        }
        return ret;
    }
    private ActivityInfo generateActivityInfo(PackageParser.Activity a, int flags,
            PackageUserState state, int userId) {
        ActivityInfo ai = PackageParser.generateActivityInfo(a, flags, state, userId);
        if (ai != null) {
            rebaseEnabledOverlays(ai.applicationInfo, userId);
        }
        return ai;
    }
    @Override
    @Override
    public ActivityInfo getActivityInfo(ComponentName component, int flags, int userId) {
    public ActivityInfo getActivityInfo(ComponentName component, int flags, int userId) {
        if (!sUserManager.exists(userId)) return null;
        if (!sUserManager.exists(userId)) return null;
@@ -4097,12 +4115,11 @@ public class PackageManagerService extends IPackageManager.Stub {
            if (a != null && mSettings.isEnabledAndMatchLPr(a.info, flags, userId)) {
            if (a != null && mSettings.isEnabledAndMatchLPr(a.info, flags, userId)) {
                PackageSetting ps = mSettings.mPackages.get(component.getPackageName());
                PackageSetting ps = mSettings.mPackages.get(component.getPackageName());
                if (ps == null) return null;
                if (ps == null) return null;
                return PackageParser.generateActivityInfo(a, flags, ps.readUserState(userId),
                return generateActivityInfo(a, flags, ps.readUserState(userId), userId);
                        userId);
            }
            }
            if (mResolveComponentName.equals(component)) {
            if (mResolveComponentName.equals(component)) {
                return PackageParser.generateActivityInfo(mResolveActivity, flags,
                return generateActivityInfo(mResolveActivity, flags, new PackageUserState(),
                        new PackageUserState(), userId);
                        userId);
            }
            }
        }
        }
        return null;
        return null;
@@ -4143,12 +4160,7 @@ public class PackageManagerService extends IPackageManager.Stub {
            if (a != null && mSettings.isEnabledAndMatchLPr(a.info, flags, userId)) {
            if (a != null && mSettings.isEnabledAndMatchLPr(a.info, flags, userId)) {
                PackageSetting ps = mSettings.mPackages.get(component.getPackageName());
                PackageSetting ps = mSettings.mPackages.get(component.getPackageName());
                if (ps == null) return null;
                if (ps == null) return null;
                ActivityInfo ri = PackageParser.generateActivityInfo(a, flags,
                return generateActivityInfo(a, flags, ps.readUserState(userId), userId);
                        ps.readUserState(userId), userId);
                if (ri != null) {
                    rebaseEnabledOverlays(ri.applicationInfo, userId);
                }
                return ri;
            }
            }
        }
        }
        return null;
        return null;
@@ -12293,8 +12305,7 @@ public class PackageManagerService extends IPackageManager.Stub {
                return null;
                return null;
            }
            }
            final PackageUserState userState = ps.readUserState(userId);
            final PackageUserState userState = ps.readUserState(userId);
            ActivityInfo ai = PackageParser.generateActivityInfo(activity, mFlags,
            ActivityInfo ai = generateActivityInfo(activity, mFlags, userState, userId);
                    userState, userId);
            if (ai == null) {
            if (ai == null) {
                return null;
                return null;
            }
            }