Only show DeveloperOptionsController for admin

Bug: 311604902
Test: manual - on System page
Test: unit test
Change-Id: Idbf40be4e0074f5d381724538c226a336c2c3b27
This commit is contained in:
Chaohui Wang
2023-12-01 15:30:27 +08:00
parent dbaf12441f
commit 8295743fe1
2 changed files with 35 additions and 1 deletions

View File

@@ -34,6 +34,7 @@ import com.android.settings.development.DevelopmentSettingsDashboardFragment
import com.android.settings.spa.preference.ComposePreferenceController
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.ui.SettingsIcon
import com.android.settingslib.spaprivileged.framework.common.userManager
import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBooleanFlow
import com.android.settingslib.spaprivileged.template.preference.RestrictedPreference
@@ -41,7 +42,9 @@ import com.android.settingslib.spaprivileged.template.preference.RestrictedPrefe
class DeveloperOptionsController(context: Context, preferenceKey: String) :
ComposePreferenceController(context, preferenceKey) {
override fun getAvailabilityStatus() = AVAILABLE
override fun getAvailabilityStatus() =
if (mContext.userManager.isAdminUser) AVAILABLE
else DISABLED_FOR_USER
private val isDevelopmentSettingsEnabledFlow = context.settingsGlobalBooleanFlow(
name = Settings.Global.DEVELOPMENT_SETTINGS_ENABLED,