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

Commit 9e0437bc authored by Manish Singh's avatar Manish Singh
Browse files

Don't add private profile accounts to Personal tab

If there are no tabs to show then the single Passwords & accounts page
shows all the profiles under the corresponding headings.
No tabs are shown only when the PS is locked and there's no work
profile. And if PS is locked then we don't want to show any PS setting.
On the other hand if PS is not locked then we'll have tabs.

Bug: 309423484
Test: manual
Change-Id: Iebc62fbc4caf21988af6aa1af4fbd570f4c80ada
parent 7a556b85
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Flags;
import android.os.UserHandle;
import android.os.UserManager;
import android.text.BidiFormatter;
@@ -297,13 +298,22 @@ public class AccountPreferenceController extends AbstractPreferenceController
        } else {
            List<UserInfo> profiles = mUm.getProfiles(UserHandle.myUserId());
            for (UserInfo profile : profiles) {
                if ((profile.isManagedProfile()
                // Check if this controller can handle this profile - e.g. if this controller's
                // mType has the WORK flag set and this profile is a managed profile.
                // If there are no tabs then this controller will support all profile types -
                // - ProfileType.ALL.
                // At the same time we should check the user property to make sure if this profile
                // should be shown or not.
                if (((profile.isManagedProfile()
                        && (mType & ProfileSelectFragment.ProfileType.WORK) != 0)
                        || (profile.isPrivateProfile()
                        || (Flags.allowPrivateProfile()
                            && profile.isPrivateProfile()
                            && (mType & ProfileSelectFragment.ProfileType.PRIVATE) != 0)
                        || (!profile.isManagedProfile()
                            && !profile.isPrivateProfile()
                            && (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0)) {
                            && !(Flags.allowPrivateProfile() && profile.isPrivateProfile())
                            && (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0))
                        && !(mUm.getUserProperties(profile.getUserHandle())
                            .getHideInSettingsInQuietMode() && profile.isQuietModeEnabled())) {
                    updateProfileUi(profile);
                }
            }