Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerServiceShellCommand.java +12 −3 Original line number Original line Diff line number Diff line Loading @@ -251,7 +251,14 @@ final class DevicePolicyManagerServiceShellCommand extends ShellCommand { private int runSetDeviceOwner(PrintWriter pw) { private int runSetDeviceOwner(PrintWriter pw) { parseArgs(); parseArgs(); mService.setActiveAdmin(mComponent, /* refreshing= */ true, mUserId); boolean isAdminAdded = false; try { mService.setActiveAdmin(mComponent, /* refreshing= */ false, mUserId); isAdminAdded = true; } catch (IllegalArgumentException e) { pw.printf("%s was already an admin for user %d. No need to set it again.\n", mComponent.flattenToShortString(), mUserId); } try { try { if (!mService.setDeviceOwner(mComponent, mUserId, if (!mService.setDeviceOwner(mComponent, mUserId, Loading @@ -260,8 +267,10 @@ final class DevicePolicyManagerServiceShellCommand extends ShellCommand { "Can't set package " + mComponent + " as device owner."); "Can't set package " + mComponent + " as device owner."); } } } catch (Exception e) { } catch (Exception e) { if (isAdminAdded) { // Need to remove the admin that we just added. // Need to remove the admin that we just added. mService.removeActiveAdmin(mComponent, UserHandle.USER_SYSTEM); mService.removeActiveAdmin(mComponent, mUserId); } throw e; throw e; } } Loading Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerServiceShellCommand.java +12 −3 Original line number Original line Diff line number Diff line Loading @@ -251,7 +251,14 @@ final class DevicePolicyManagerServiceShellCommand extends ShellCommand { private int runSetDeviceOwner(PrintWriter pw) { private int runSetDeviceOwner(PrintWriter pw) { parseArgs(); parseArgs(); mService.setActiveAdmin(mComponent, /* refreshing= */ true, mUserId); boolean isAdminAdded = false; try { mService.setActiveAdmin(mComponent, /* refreshing= */ false, mUserId); isAdminAdded = true; } catch (IllegalArgumentException e) { pw.printf("%s was already an admin for user %d. No need to set it again.\n", mComponent.flattenToShortString(), mUserId); } try { try { if (!mService.setDeviceOwner(mComponent, mUserId, if (!mService.setDeviceOwner(mComponent, mUserId, Loading @@ -260,8 +267,10 @@ final class DevicePolicyManagerServiceShellCommand extends ShellCommand { "Can't set package " + mComponent + " as device owner."); "Can't set package " + mComponent + " as device owner."); } } } catch (Exception e) { } catch (Exception e) { if (isAdminAdded) { // Need to remove the admin that we just added. // Need to remove the admin that we just added. mService.removeActiveAdmin(mComponent, UserHandle.USER_SYSTEM); mService.removeActiveAdmin(mComponent, mUserId); } throw e; throw e; } } Loading