Loading core/java/android/app/ApplicationPackageManager.java +4 −3 Original line number Diff line number Diff line Loading @@ -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(); } Loading @@ -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(); } Loading @@ -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(); } Loading core/java/android/content/pm/IPackageManager.aidl +3 −2 Original line number Diff line number Diff line Loading @@ -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}. Loading services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -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(); } Loading services/core/java/com/android/server/pm/PackageManagerService.java +13 −11 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading @@ -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) Loading Loading @@ -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 Loading services/core/java/com/android/server/pm/PackageManagerShellCommand.java +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
core/java/android/app/ApplicationPackageManager.java +4 −3 Original line number Diff line number Diff line Loading @@ -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(); } Loading @@ -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(); } Loading @@ -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(); } Loading
core/java/android/content/pm/IPackageManager.aidl +3 −2 Original line number Diff line number Diff line Loading @@ -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}. Loading
services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -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(); } Loading
services/core/java/com/android/server/pm/PackageManagerService.java +13 −11 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading @@ -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) Loading Loading @@ -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 Loading
services/core/java/com/android/server/pm/PackageManagerShellCommand.java +1 −1 Original line number Diff line number Diff line Loading @@ -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