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

Commit f05b9d08 authored by Clara Bayarri's avatar Clara Bayarri
Browse files

Return actual userId when File Based Encryption is present

The existing UserManagerService#getCredentialOwnerProfile always
returned the parent profile for the given userId. With File
Based Encryption, we want to enable per-user credentials.

This is part of the Separate Work Challenge feature.

Change-Id: If5b32d22a5da63103b773acbe4a6d1396d34412b
parent 5ba31aa7
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import android.os.Parcelable;
import android.os.Process;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.storage.StorageManager;
@@ -139,11 +140,6 @@ public class UserManagerService extends IUserManager.Stub {
    // without first making sure that the rest of the framework is prepared for it.
    private static final int MAX_MANAGED_PROFILES = 1;

    /**
     * Flag indicating whether device credentials are shared among same-user profiles.
     */
    private static final boolean CONFIG_PROFILES_SHARE_CREDENTIAL = true;

    static final int WRITE_USER_MSG = 1;
    static final int WRITE_USER_DELAY = 2*1000;  // 2 seconds

@@ -343,7 +339,7 @@ public class UserManagerService extends IUserManager.Stub {
    @Override
    public int getCredentialOwnerProfile(int userHandle) {
        checkManageUsersPermission("get the credential owner");
        if (CONFIG_PROFILES_SHARE_CREDENTIAL) {
        if (!"file".equals(SystemProperties.get("ro.crypto.type", "none"))) {
            synchronized (mPackagesLock) {
                UserInfo profileParent = getProfileParentLocked(userHandle);
                if (profileParent != null) {