Merge "Support primary user only AppListPage"

This commit is contained in:
TreeHugger Robot
2022-09-08 13:45:30 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 3 deletions

View File

@@ -44,6 +44,7 @@ import com.android.settingslib.spaprivileged.template.common.WorkProfilePager
fun <T : AppRecord> AppListPage(
title: String,
listModel: AppListModel<T>,
primaryUserOnly: Boolean = false,
appItem: @Composable (itemState: AppListItemModel<T>) -> Unit,
) {
val showSystem = rememberSaveable { mutableStateOf(false) }
@@ -55,7 +56,7 @@ fun <T : AppRecord> AppListPage(
},
) { paddingValues ->
Spacer(Modifier.padding(paddingValues))
WorkProfilePager { userInfo ->
WorkProfilePager(primaryUserOnly) { userInfo ->
Column(Modifier.fillMaxSize()) {
val options = remember { listModel.getSpinnerOptions() }
val selectedOption = rememberSaveable { mutableStateOf(0) }

View File

@@ -26,11 +26,16 @@ import com.android.settingslib.spa.widget.scaffold.SettingsPager
import com.android.settingslib.spaprivileged.model.enterprise.EnterpriseRepository
@Composable
fun WorkProfilePager(content: @Composable (userInfo: UserInfo) -> Unit) {
fun WorkProfilePager(
primaryUserOnly: Boolean = false,
content: @Composable (userInfo: UserInfo) -> Unit,
) {
val context = LocalContext.current
val profiles = remember {
val userManager = checkNotNull(context.getSystemService(UserManager::class.java))
userManager.getProfiles(UserHandle.myUserId())
userManager.getProfiles(UserHandle.myUserId()).filter { userInfo ->
!primaryUserOnly || userInfo.isPrimary
}
}
val titles = remember {
val enterpriseRepository = EnterpriseRepository(context)