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

Commit 0003443c authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix Settings profile selector on HSUM" into main

parents 9cf7f6e8 0f37c746
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -233,7 +233,12 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
                return ((ViewPagerAdapter) mViewPager.getAdapter())
                        .getPositionForProfileTab(extraTab);
            }
            final int userId = bundle.getInt(EXTRA_USER_ID, UserHandle.SYSTEM.getIdentifier());
            final UserManager userManager = getSystemService(UserManager.class);
            UserHandle mainUser = userManager.getMainUser();
            if (mainUser == null) {
                mainUser = UserHandle.SYSTEM;
            }
            final int userId = bundle.getInt(EXTRA_USER_ID, mainUser.getIdentifier());
            final boolean isWorkProfile = UserManager.get(activity).isManagedProfile(userId);
            if (isWorkProfile) {
                return WORK_TAB;
@@ -325,7 +330,7 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
            List<UserInfo> userInfos = userManager.getProfiles(UserHandle.myUserId());

            for (UserInfo userInfo : userInfos) {
                if (userInfo.getUserHandle().isSystem()) {
                if (userInfo.isMain()) {
                    fragments.add(createAndGetFragment(
                            ProfileType.PERSONAL,
                            bundle != null ? bundle : new Bundle(),
@@ -345,7 +350,7 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
                                privateFragmentConstructor));
                    }
                } else {
                    Log.d(TAG, "Not showing tab for unsupported user");
                    Log.d(TAG, "Not showing tab for unsupported user " + userInfo);
                }
            }

+7 −6
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settings.dashboard.profileselector;

import static android.content.Intent.EXTRA_USER_ID;
import static android.content.pm.UserInfo.FLAG_MAIN;
import static android.os.UserManager.USER_TYPE_FULL_SYSTEM;
import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
@@ -208,7 +209,7 @@ public class ProfileSelectFragmentTest {
        mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
                android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
        mUserManager.addProfile(
                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
                new UserInfo(0, PRIMARY_USER_NAME, null, FLAG_MAIN, USER_TYPE_FULL_SYSTEM));
        Fragment[] fragments = ProfileSelectFragment.getFragments(
                mContext,
                null /* bundle */,
@@ -221,7 +222,7 @@ public class ProfileSelectFragmentTest {
    @Test
    public void testGetFragments_whenPrivateDisabled_returnsOneFragment() {
        mUserManager.addProfile(
                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
                new UserInfo(0, PRIMARY_USER_NAME, null, FLAG_MAIN, USER_TYPE_FULL_SYSTEM));
        mUserManager.addProfile(
                new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
        Fragment[] fragments = ProfileSelectFragment.getFragments(
@@ -244,7 +245,7 @@ public class ProfileSelectFragmentTest {
        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
                android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
        mUserManager.addProfile(
                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
                new UserInfo(0, PRIMARY_USER_NAME, null, FLAG_MAIN, USER_TYPE_FULL_SYSTEM));
        mUserManager.addProfile(
                new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
        Fragment[] fragments = ProfileSelectFragment.getFragments(
@@ -267,7 +268,7 @@ public class ProfileSelectFragmentTest {
        mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
                android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
        mUserManager.addProfile(
                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
                new UserInfo(0, PRIMARY_USER_NAME, null, FLAG_MAIN, USER_TYPE_FULL_SYSTEM));
        mUserManager.addProfile(
                new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
        Fragment[] fragments = ProfileSelectFragment.getFragments(
@@ -290,7 +291,7 @@ public class ProfileSelectFragmentTest {
        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
                android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
        mUserManager.addProfile(
                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
                new UserInfo(0, PRIMARY_USER_NAME, null, FLAG_MAIN, USER_TYPE_FULL_SYSTEM));
        mUserManager.addProfile(
                new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
        mUserManager.addProfile(
@@ -315,7 +316,7 @@ public class ProfileSelectFragmentTest {
        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
                android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
        mUserManager.addProfile(
                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
                new UserInfo(0, PRIMARY_USER_NAME, null, FLAG_MAIN, USER_TYPE_FULL_SYSTEM));
        mUserManager.addProfile(
                new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
        mUserManager.addProfile(
+2 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.settings.dashboard.profileselector;

import static android.content.pm.UserInfo.FLAG_MAIN;
import static android.os.UserManager.USER_TYPE_FULL_SYSTEM;
import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
@@ -60,7 +61,7 @@ public class ProfileSelectLocationFragmentTest {
    public void setUp() {
        mUserManager = ShadowUserManager.getShadow();
        mUserManager.addProfile(
                new UserInfo(0, PERSONAL_PROFILE_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
                new UserInfo(0, PERSONAL_PROFILE_NAME, null, FLAG_MAIN, USER_TYPE_FULL_SYSTEM));
        mUserManager.addProfile(
                new UserInfo(1, WORK_PROFILE_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
        mUserManager.addProfile(