diff options
author | Rubin Xu <rubinxu@google.com> | 2015-07-30 17:55:33 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-07-30 17:55:33 +0000 |
commit | b1a2014ea98ac9d17a38ad042841d37e0fcfc470 (patch) | |
tree | 91798b2438d67cabce68930d812bdef11cae0505 | |
parent | 4da7081bd8bf02e2ffd93af62b690be8d1b0b770 (diff) | |
parent | 5fa0ad4aeae55c0aba1ac2a42745782d53fbbceb (diff) | |
download | android_packages_apps_ManagedProvisioning-b1a2014ea98ac9d17a38ad042841d37e0fcfc470.tar.gz android_packages_apps_ManagedProvisioning-b1a2014ea98ac9d17a38ad042841d37e0fcfc470.tar.bz2 android_packages_apps_ManagedProvisioning-b1a2014ea98ac9d17a38ad042841d37e0fcfc470.zip |
am 5fa0ad4a: am 45fd7228: Merge "Set device owner as profile owners on secondary users" into mnc-dev
* commit '5fa0ad4aeae55c0aba1ac2a42745782d53fbbceb':
Set device owner as profile owners on secondary users
-rw-r--r-- | src/com/android/managedprovisioning/task/SetDevicePolicyTask.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java b/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java index 4ddf429b..994d151d 100644 --- a/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java +++ b/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java @@ -26,6 +26,7 @@ import android.os.RemoteException; import android.os.UserHandle; import com.android.managedprovisioning.ProvisionLogger; +import com.android.managedprovisioning.Utils; /** * This tasks sets a given component as the owner of the device. If provided it also sets a given @@ -73,12 +74,24 @@ public class SetDevicePolicyTask { setDeviceOwner(mAdminPackage, mOwnerName); if (mInitializerComponent != null) { + // For secondary users, set device owner package as profile owner as well, in order + // to give it DO/PO privileges. This only applies if device initializer is present. + if (!Utils.isCurrentUserOwner() && !Utils.isManagedProfile(mContext)) { + int userId = UserHandle.myUserId(); + if (!mDevicePolicyManager.setProfileOwner(mAdminComponent, mAdminPackage, + userId)) { + ProvisionLogger.loge("Fail to set profile owner for user " + userId); + mCallback.onError(ERROR_OTHER); + return; + } + } enableDevicePolicyApp(mInitializerPackageName); setActiveAdmin(mInitializerComponent); if (!setDeviceInitializer(mInitializerComponent)) { // error reported in setDeviceInitializer return; } + } } catch (Exception e) { ProvisionLogger.loge("Failure setting device owner or initializer", e); |