Merge "Fix Settings profile selector on HSUM" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
0003443c3d
@@ -233,7 +233,12 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
|
|||||||
return ((ViewPagerAdapter) mViewPager.getAdapter())
|
return ((ViewPagerAdapter) mViewPager.getAdapter())
|
||||||
.getPositionForProfileTab(extraTab);
|
.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);
|
final boolean isWorkProfile = UserManager.get(activity).isManagedProfile(userId);
|
||||||
if (isWorkProfile) {
|
if (isWorkProfile) {
|
||||||
return WORK_TAB;
|
return WORK_TAB;
|
||||||
@@ -325,7 +330,7 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
|
|||||||
List<UserInfo> userInfos = userManager.getProfiles(UserHandle.myUserId());
|
List<UserInfo> userInfos = userManager.getProfiles(UserHandle.myUserId());
|
||||||
|
|
||||||
for (UserInfo userInfo : userInfos) {
|
for (UserInfo userInfo : userInfos) {
|
||||||
if (userInfo.getUserHandle().isSystem()) {
|
if (userInfo.isMain()) {
|
||||||
fragments.add(createAndGetFragment(
|
fragments.add(createAndGetFragment(
|
||||||
ProfileType.PERSONAL,
|
ProfileType.PERSONAL,
|
||||||
bundle != null ? bundle : new Bundle(),
|
bundle != null ? bundle : new Bundle(),
|
||||||
@@ -345,7 +350,7 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
|
|||||||
privateFragmentConstructor));
|
privateFragmentConstructor));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Log.d(TAG, "Not showing tab for unsupported user");
|
Log.d(TAG, "Not showing tab for unsupported user " + userInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.dashboard.profileselector;
|
package com.android.settings.dashboard.profileselector;
|
||||||
|
|
||||||
import static android.content.Intent.EXTRA_USER_ID;
|
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_FULL_SYSTEM;
|
||||||
import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
|
import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
|
||||||
import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
|
import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
|
||||||
@@ -208,7 +209,7 @@ public class ProfileSelectFragmentTest {
|
|||||||
mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
||||||
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
||||||
mUserManager.addProfile(
|
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(
|
Fragment[] fragments = ProfileSelectFragment.getFragments(
|
||||||
mContext,
|
mContext,
|
||||||
null /* bundle */,
|
null /* bundle */,
|
||||||
@@ -221,7 +222,7 @@ public class ProfileSelectFragmentTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testGetFragments_whenPrivateDisabled_returnsOneFragment() {
|
public void testGetFragments_whenPrivateDisabled_returnsOneFragment() {
|
||||||
mUserManager.addProfile(
|
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(
|
mUserManager.addProfile(
|
||||||
new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
|
new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
|
||||||
Fragment[] fragments = ProfileSelectFragment.getFragments(
|
Fragment[] fragments = ProfileSelectFragment.getFragments(
|
||||||
@@ -244,7 +245,7 @@ public class ProfileSelectFragmentTest {
|
|||||||
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
||||||
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
||||||
mUserManager.addProfile(
|
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(
|
mUserManager.addProfile(
|
||||||
new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
|
new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
|
||||||
Fragment[] fragments = ProfileSelectFragment.getFragments(
|
Fragment[] fragments = ProfileSelectFragment.getFragments(
|
||||||
@@ -267,7 +268,7 @@ public class ProfileSelectFragmentTest {
|
|||||||
mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
||||||
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
||||||
mUserManager.addProfile(
|
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(
|
mUserManager.addProfile(
|
||||||
new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
|
new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
|
||||||
Fragment[] fragments = ProfileSelectFragment.getFragments(
|
Fragment[] fragments = ProfileSelectFragment.getFragments(
|
||||||
@@ -290,7 +291,7 @@ public class ProfileSelectFragmentTest {
|
|||||||
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
||||||
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
||||||
mUserManager.addProfile(
|
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(
|
mUserManager.addProfile(
|
||||||
new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
|
new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
|
||||||
mUserManager.addProfile(
|
mUserManager.addProfile(
|
||||||
@@ -315,7 +316,7 @@ public class ProfileSelectFragmentTest {
|
|||||||
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
|
||||||
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
|
||||||
mUserManager.addProfile(
|
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(
|
mUserManager.addProfile(
|
||||||
new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
|
new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
|
||||||
mUserManager.addProfile(
|
mUserManager.addProfile(
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.dashboard.profileselector;
|
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_FULL_SYSTEM;
|
||||||
import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
|
import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
|
||||||
import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
|
import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
|
||||||
@@ -60,7 +61,7 @@ public class ProfileSelectLocationFragmentTest {
|
|||||||
public void setUp() {
|
public void setUp() {
|
||||||
mUserManager = ShadowUserManager.getShadow();
|
mUserManager = ShadowUserManager.getShadow();
|
||||||
mUserManager.addProfile(
|
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(
|
mUserManager.addProfile(
|
||||||
new UserInfo(1, WORK_PROFILE_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
|
new UserInfo(1, WORK_PROFILE_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
|
||||||
mUserManager.addProfile(
|
mUserManager.addProfile(
|
||||||
|
Reference in New Issue
Block a user