diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java index e8f407bd170..494ef95f99b 100644 --- a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java +++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java @@ -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 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); } } diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java index 46e4ea5d117..3ab0e6957f6 100644 --- a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java @@ -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( diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java index 22fec8f058e..3cc47a8d8c3 100644 --- a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java @@ -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(