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

Commit 33bf24ed authored by Alex Buynytskyy's avatar Alex Buynytskyy Committed by Automerger Merge Worker
Browse files

Merge "More debug info on package state changes." into udc-dev am: 55a6e8d0

parents 5af9f78e 55a6e8d0
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -3052,7 +3052,7 @@ public class ApplicationPackageManager extends PackageManager {
            mPM.setComponentEnabledSetting(componentName, enabled
                    ? COMPONENT_ENABLED_STATE_DEFAULT
                    : COMPONENT_ENABLED_STATE_DISABLED,
                    DONT_KILL_APP, getUserId());
                    DONT_KILL_APP, getUserId(), mContext.getOpPackageName());
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
@@ -3075,7 +3075,8 @@ public class ApplicationPackageManager extends PackageManager {
    public void setComponentEnabledSetting(ComponentName componentName,
                                           int newState, int flags) {
        try {
            mPM.setComponentEnabledSetting(componentName, newState, flags, getUserId());
            mPM.setComponentEnabledSetting(componentName, newState, flags, getUserId(),
                    mContext.getOpPackageName());
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
@@ -3084,7 +3085,7 @@ public class ApplicationPackageManager extends PackageManager {
    @Override
    public void setComponentEnabledSettings(List<ComponentEnabledSetting> settings) {
        try {
            mPM.setComponentEnabledSettings(settings, getUserId());
            mPM.setComponentEnabledSettings(settings, getUserId(), mContext.getOpPackageName());
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+3 −2
Original line number Diff line number Diff line
@@ -353,12 +353,13 @@ interface IPackageManager {
     */
    @UnsupportedAppUsage
    void setComponentEnabledSetting(in ComponentName componentName,
            in int newState, in int flags, int userId);
            in int newState, in int flags, int userId, String callingPackage);

    /**
     * As per {@link android.content.pm.PackageManager#setComponentEnabledSettings}.
     */
    void setComponentEnabledSettings(in List<ComponentEnabledSetting> settings, int userId);
    void setComponentEnabledSettings(in List<ComponentEnabledSetting> settings, int userId,
            String callingPackage);

    /**
     * As per {@link android.content.pm.PackageManager#getComponentEnabledSetting}.
+1 −1
Original line number Diff line number Diff line
@@ -8837,7 +8837,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                try {
                    AppGlobals.getPackageManager().setComponentEnabledSetting(cName,
                            PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0,
                            UserHandle.USER_SYSTEM);
                            UserHandle.USER_SYSTEM, "am");
                } catch (RemoteException e) {
                    throw e.rethrowAsRuntimeException();
                }
+13 −11
Original line number Diff line number Diff line
@@ -3779,7 +3779,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService
    }

    private void setEnabledSettings(List<ComponentEnabledSetting> settings, int userId,
            String callingPackage) {
            @NonNull String callingPackage) {
        final int callingUid = Binder.getCallingUid();
        // TODO: This method is not properly snapshotified beyond this call
        final Computer preLockSnapshot = snapshotComputer();
@@ -4051,11 +4051,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService
        boolean success = false;
        if (!setting.isComponent()) {
            // We're dealing with an application/package level state change
            if (newState == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT
                    || newState == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) {
                // Don't care about who enables an app.
                callingPackage = null;
            }
            pkgSetting.setEnabled(newState, userId, callingPackage);
            if ((newState == COMPONENT_ENABLED_STATE_DISABLED_USER
                    || newState == COMPONENT_ENABLED_STATE_DISABLED)
@@ -5814,21 +5809,28 @@ public class PackageManagerService implements PackageSender, TestUtilityService

        @Override
        public void setComponentEnabledSetting(ComponentName componentName,
                int newState, int flags, int userId) {
                int newState, int flags, int userId, String callingPackage) {
            if (!mUserManager.exists(userId)) return;
            if (callingPackage == null) {
                callingPackage = Integer.toString(Binder.getCallingUid());
            }

            setEnabledSettings(List.of(new PackageManager.ComponentEnabledSetting(componentName, newState, flags)),
                    userId, null /* callingPackage */);
                    userId, callingPackage);
        }

        @Override
        public void setComponentEnabledSettings(List<PackageManager.ComponentEnabledSetting> settings, int userId) {
        public void setComponentEnabledSettings(
                List<PackageManager.ComponentEnabledSetting> settings, int userId,
                String callingPackage) {
            if (!mUserManager.exists(userId)) return;
            if (settings == null || settings.isEmpty()) {
                throw new IllegalArgumentException("The list of enabled settings is empty");
            }

            setEnabledSettings(settings, userId, null /* callingPackage */);
            if (callingPackage == null) {
                callingPackage = Integer.toString(Binder.getCallingUid());
            }
            setEnabledSettings(settings, userId, callingPackage);
        }

        @Override
+1 −1
Original line number Diff line number Diff line
@@ -2447,7 +2447,7 @@ class PackageManagerShellCommand extends ShellCommand {
                    mInterface.getApplicationEnabledSetting(pkg, translatedUserId)));
            return 0;
        } else {
            mInterface.setComponentEnabledSetting(cn, state, 0, translatedUserId);
            mInterface.setComponentEnabledSetting(cn, state, 0, translatedUserId, "shell");
            getOutPrintWriter().println("Component " + cn.toShortString() + " new state: "
                    + enabledSettingToString(
                    mInterface.getComponentEnabledSetting(cn, translatedUserId)));
Loading