[Catalyst] Support multiple restriction keys

NO_IFTTT=Catalyst only

Bug: 377600992
Flag: com.android.settings.flags.catalyst
Test: testdpc
Change-Id: If7212b5402f7e271b7fdbd2a43bed0e11ee6f15f
This commit is contained in:
Jacky Wang
2024-11-12 01:26:12 +08:00
parent a1abfdcaca
commit 865e9b29f5
11 changed files with 48 additions and 31 deletions

View File

@@ -16,7 +16,6 @@
package com.android.settings
import android.os.UserHandle
import androidx.preference.Preference
import com.android.settingslib.RestrictedPreferenceHelperProvider
import com.android.settingslib.metadata.PreferenceHierarchyNode
@@ -37,10 +36,11 @@ class SettingsPreferenceBindingFactory : DefaultPreferenceBindingFactory() {
if (metadata is PreferenceRestrictionMixin) {
if (preference is RestrictedPreferenceHelperProvider) {
preference.getRestrictedPreferenceHelper().apply {
val restrictionKey = metadata.restrictionKey
if (!preference.context.hasBaseUserRestriction(restrictionKey)) {
useAdminDisabledSummary(metadata.useAdminDisabledSummary)
checkRestrictionAndSetDisabled(restrictionKey, UserHandle.myUserId())
useAdminDisabledSummary(metadata.useAdminDisabledSummary)
val context = preference.context
val restrictionKeys = metadata.restrictionKeys
if (!context.hasBaseUserRestriction(restrictionKeys)) {
setDisabledByAdmin(context.getRestrictionEnforcedAdmin(restrictionKeys))
}
}
}