diff --git a/src/com/android/settings/SettingsInitialize.java b/src/com/android/settings/SettingsInitialize.java index c0c0777f2f3..297bad79099 100644 --- a/src/com/android/settings/SettingsInitialize.java +++ b/src/com/android/settings/SettingsInitialize.java @@ -118,7 +118,8 @@ public class SettingsInitialize extends BroadcastReceiver { } private void privateProfileSetup(Context context, PackageManager pm, UserInfo userInfo) { - if (Flags.allowPrivateProfile()) { + if (Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { if (userInfo == null || !userInfo.isPrivateProfile()) { return; } diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 108e331a090..6e36ee36733 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -1228,6 +1228,7 @@ public final class Utils extends com.android.settingslib.Utils { UserProperties userProperties = userManager.getUserProperties(userHandle); if (userProperties.getShowInSettings() == UserProperties.SHOW_IN_SETTINGS_SEPARATE) { if (Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && userProperties.getShowInQuietMode() == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN) { if (!userManager.isQuietModeEnabled(userHandle)) { diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java index 2d862d6f093..4f03303c372 100644 --- a/src/com/android/settings/accounts/AccountPreferenceController.java +++ b/src/com/android/settings/accounts/AccountPreferenceController.java @@ -311,11 +311,10 @@ public class AccountPreferenceController extends AbstractPreferenceController // should be shown or not. if (((profile.isManagedProfile() && (mType & ProfileSelectFragment.ProfileType.WORK) != 0) - || (Flags.allowPrivateProfile() - && profile.isPrivateProfile() + || (isPrivateProfile(profile) && (mType & ProfileSelectFragment.ProfileType.PRIVATE) != 0) || (!profile.isManagedProfile() - && !(Flags.allowPrivateProfile() && profile.isPrivateProfile()) + && !isPrivateProfile(profile) && (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0)) && !(mUm.getUserProperties(profile.getUserHandle()) .getShowInQuietMode() == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN @@ -338,6 +337,12 @@ public class AccountPreferenceController extends AbstractPreferenceController mFragment.forceUpdatePreferences(); } + private static boolean isPrivateProfile(UserInfo profile) { + return Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + && profile.isPrivateProfile(); + } + private void updateProfileUi(final UserInfo userInfo) { if (mFragment.getPreferenceManager() == null) { return; diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java index 640f21dec0e..86c11c21e09 100644 --- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java +++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java @@ -167,8 +167,9 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle } private boolean shouldSkipProfile(UserHandle profile) { - return android.os.Flags.allowPrivateProfile() + return android.os.Flags.allowPrivateProfile() && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && mUm.isQuietModeEnabled(profile) && mUm.getUserProperties(profile).getShowInQuietMode() == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN; diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java index 8279588cd1d..9c5c7758fc2 100644 --- a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java +++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java @@ -238,7 +238,9 @@ public abstract class ProfileSelectFragment extends DashboardFragment { return WORK_TAB; } UserInfo userInfo = UserManager.get(activity).getUserInfo(userId); - if (Flags.allowPrivateProfile() && userInfo != null && userInfo.isPrivateProfile()) { + if (Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + && userInfo != null && userInfo.isPrivateProfile()) { return PRIVATE_TAB; } } @@ -248,7 +250,9 @@ public abstract class ProfileSelectFragment extends DashboardFragment { return WORK_TAB; } UserInfo userInfo = UserManager.get(activity).getUserInfo(intentUser); - if (Flags.allowPrivateProfile() && userInfo != null && userInfo.isPrivateProfile()) { + if (Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + && userInfo != null && userInfo.isPrivateProfile()) { return PRIVATE_TAB; } @@ -259,7 +263,7 @@ public abstract class ProfileSelectFragment extends DashboardFragment { final DevicePolicyManager devicePolicyManager = getContext().getSystemService(DevicePolicyManager.class); - if (Flags.allowPrivateProfile()) { + if (Flags.allowPrivateProfile() && android.multiuser.Flags.enablePrivateSpaceFeatures()) { int tabForPosition = ((ViewPagerAdapter) mViewPager.getAdapter()).getTabForPosition(position); @@ -330,7 +334,9 @@ public abstract class ProfileSelectFragment extends DashboardFragment { ProfileType.WORK, bundle != null ? bundle.deepCopy() : new Bundle(), workFragmentConstructor)); - } else if (Flags.allowPrivateProfile() && userInfo.isPrivateProfile()) { + } else if (Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + && userInfo.isPrivateProfile()) { if (!privateSpaceInfoProvider.isPrivateSpaceLocked(context)) { fragments.add(createAndGetFragment( ProfileType.PRIVATE, diff --git a/src/com/android/settings/dashboard/profileselector/UserAdapter.java b/src/com/android/settings/dashboard/profileselector/UserAdapter.java index c9e49f17558..40d1a93e5d7 100644 --- a/src/com/android/settings/dashboard/profileselector/UserAdapter.java +++ b/src/com/android/settings/dashboard/profileselector/UserAdapter.java @@ -87,6 +87,7 @@ public class UserAdapter extends BaseAdapter { return resources.getString(WORK_CATEGORY_HEADER, () -> context.getString(com.android.settingslib.R.string.category_work)); } else if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && mUserManager.getUserInfo(userId).isPrivateProfile()) { return resources.getString(PRIVATE_CATEGORY_HEADER, () -> context.getString(com.android.settingslib.R.string.category_private)); diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java index 887fc3215a2..ef542a3590f 100644 --- a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java +++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java @@ -257,6 +257,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe private boolean shouldSkipProfile(UserInfo userInfo) { return android.os.Flags.allowPrivateProfile() && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && userInfo.isQuietModeEnabled() && mUm.getUserProperties(userInfo.getUserHandle()).getShowInQuietMode() == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN; diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java index 631c735e6d0..a6453005ab9 100644 --- a/src/com/android/settings/password/ChooseLockPassword.java +++ b/src/com/android/settings/password/ChooseLockPassword.java @@ -416,6 +416,7 @@ public class ChooseLockPassword extends SettingsActivity { public String getHint(Context context, boolean isAlpha, int type, ProfileType profile) { if (isAlpha) { if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && profile.equals(ProfileType.Private)) { return context.getString(alphaHintForPrivateProfile); } else if (type == TYPE_FINGERPRINT) { @@ -433,6 +434,7 @@ public class ChooseLockPassword extends SettingsActivity { } } else { if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && profile.equals(ProfileType.Private)) { return context.getString(numericHintForPrivateProfile); } else if (type == TYPE_FINGERPRINT) { @@ -1147,7 +1149,9 @@ public class ChooseLockPassword extends SettingsActivity { /*flags=*/0).getSystemService(UserManager.class); if (userManager.isManagedProfile()) { return ProfileType.Managed; - } else if (android.os.Flags.allowPrivateProfile() && userManager.isPrivateProfile()) { + } else if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + && userManager.isPrivateProfile()) { return ProfileType.Private; } else if (userManager.isProfile()) { return ProfileType.Other; diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java index 8d0aebe6374..c331991a486 100644 --- a/src/com/android/settings/password/ChooseLockPattern.java +++ b/src/com/android/settings/password/ChooseLockPattern.java @@ -478,7 +478,9 @@ public class ChooseLockPattern extends SettingsActivity { .getString(SET_WORK_PROFILE_PATTERN_HEADER, () -> getString( R.string.lockpassword_choose_your_profile_pattern_header)); - } else if (android.os.Flags.allowPrivateProfile() && isPrivateProfile()) { + } else if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + && isPrivateProfile()) { msg = getString(R.string.private_space_choose_your_pattern_header); } else { msg = getString(R.string.lockpassword_choose_your_pattern_header); diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java index f2ebd1f6b3d..cf805130591 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java @@ -300,6 +300,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { launchedCDC = true; } } else if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && userProperties != null && userProperties.isAuthAlwaysRequiredToDisableQuietMode() && isInternalActivity()) { @@ -413,7 +414,8 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { private boolean doesUserStateEnforceStrongAuth(int userId) { if (android.os.Flags.allowPrivateProfile() - && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()) { + && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { // Check if CE storage for user is locked since biometrics can't unlock fbe/keystore of // the profile user using verifyTiedProfileChallenge. Biometrics can still be used if // the user is stopped with delayed locking (i.e., with storage unlocked), so the user diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialUtils.java b/src/com/android/settings/password/ConfirmDeviceCredentialUtils.java index 32e7489c6a6..e3182a4521e 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialUtils.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialUtils.java @@ -105,7 +105,8 @@ public class ConfirmDeviceCredentialUtils { private static boolean isBiometricUnlockEnabledForPrivateSpace() { return android.os.Flags.allowPrivateProfile() - && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace(); + && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures(); } /** diff --git a/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java b/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java index 1f0f7bb6414..7f0118c5b92 100644 --- a/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java +++ b/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java @@ -104,7 +104,8 @@ public class AutoAdvanceSetupFragment extends InstrumentedFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { - if (android.os.Flags.allowPrivateProfile()) { + if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { super.onCreate(savedInstanceState); } } diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceController.java b/src/com/android/settings/privatespace/HidePrivateSpaceController.java index a53055cefc2..903defa332b 100644 --- a/src/com/android/settings/privatespace/HidePrivateSpaceController.java +++ b/src/com/android/settings/privatespace/HidePrivateSpaceController.java @@ -38,7 +38,10 @@ public class HidePrivateSpaceController extends TogglePreferenceController { @Override @AvailabilityStatus public int getAvailabilityStatus() { - return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; + return android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + ? AVAILABLE + : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsController.java b/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsController.java index 1a89d37b8b6..6cb54a1cd89 100644 --- a/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsController.java +++ b/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsController.java @@ -52,6 +52,7 @@ public class HidePrivateSpaceSensitiveNotificationsController extends TogglePref public int getAvailabilityStatus() { if (!android.os.Flags.allowPrivateProfile() || !android.multiuser.Flags.enablePsSensitiveNotificationsToggle() + || !android.multiuser.Flags.enablePrivateSpaceFeatures() || !mPrivateSpaceMaintainer.doesPrivateSpaceExist()) { return UNSUPPORTED_ON_DEVICE; } diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java b/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java index 124978a590c..c41267f3b69 100644 --- a/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java +++ b/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java @@ -27,7 +27,8 @@ public class HidePrivateSpaceSettings extends DashboardFragment{ @Override public void onCreate(Bundle icicle) { - if (android.os.Flags.allowPrivateProfile()) { + if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { super.onCreate(icicle); } } diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java b/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java index 42627af93ea..a366b709422 100644 --- a/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java +++ b/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java @@ -36,7 +36,10 @@ public final class HidePrivateSpaceSummaryController extends BasePreferenceContr @Override public int getAvailabilityStatus() { - return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; + return android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + ? AVAILABLE + : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java b/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java index 12a74400952..f2a50dc1e34 100644 --- a/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java +++ b/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java @@ -59,7 +59,8 @@ public class PrivateProfileContextHelperActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { - if (!android.os.Flags.allowPrivateProfile()) { + if (!android.os.Flags.allowPrivateProfile() + || !android.multiuser.Flags.enablePrivateSpaceFeatures()) { return; } setTheme(SetupWizardUtils.getTheme(this, getIntent())); diff --git a/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java index 63b1dc95a98..53d6b2272b3 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java +++ b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java @@ -77,7 +77,8 @@ public class PrivateSpaceAuthenticationActivity extends FragmentActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (Flags.allowPrivateProfile()) { + if (Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { ThemeHelper.trySetDynamicColor(this); mPrivateSpaceMaintainer = new Injector().injectPrivateSpaceMaintainer(getApplicationContext()); diff --git a/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java index 726567e08de..32db8b6a7d3 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java +++ b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java @@ -32,7 +32,8 @@ public class PrivateSpaceDashboardFragment extends DashboardFragment { @Override public void onCreate(Bundle icicle) { - if (android.os.Flags.allowPrivateProfile()) { + if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { super.onCreate(icicle); if (icicle == null && getIntent().getBooleanExtra(EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED, false)) { diff --git a/src/com/android/settings/privatespace/PrivateSpaceEducation.java b/src/com/android/settings/privatespace/PrivateSpaceEducation.java index 4c99873c20d..cf22895a70b 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceEducation.java +++ b/src/com/android/settings/privatespace/PrivateSpaceEducation.java @@ -43,7 +43,8 @@ public class PrivateSpaceEducation extends InstrumentedFragment { LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - if (!android.os.Flags.allowPrivateProfile()) { + if (!android.os.Flags.allowPrivateProfile() + || !android.multiuser.Flags.enablePrivateSpaceFeatures()) { return null; } GlifLayout rootView = diff --git a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java index 2d38ae2007f..3fb9b153b8f 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java +++ b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java @@ -78,7 +78,8 @@ public class PrivateSpaceMaintainer { */ @VisibleForTesting public final synchronized boolean createPrivateSpace() { - if (!Flags.allowPrivateProfile()) { + if (!Flags.allowPrivateProfile() + || !android.multiuser.Flags.enablePrivateSpaceFeatures()) { return false; } // Check if Private space already exists @@ -146,7 +147,8 @@ public class PrivateSpaceMaintainer { /** Returns true if the Private space exists. */ public synchronized boolean doesPrivateSpaceExist() { - if (!Flags.allowPrivateProfile()) { + if (!Flags.allowPrivateProfile() + || !android.multiuser.Flags.enablePrivateSpaceFeatures()) { return false; } if (mUserHandle != null) { @@ -322,6 +324,7 @@ public class PrivateSpaceMaintainer { private boolean isPrivateSpaceAutoLockSupported() { return android.os.Flags.allowPrivateProfile() - && android.multiuser.Flags.supportAutolockForPrivateSpace(); + && android.multiuser.Flags.supportAutolockForPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures(); } } diff --git a/src/com/android/settings/privatespace/PrivateSpaceSafetySource.java b/src/com/android/settings/privatespace/PrivateSpaceSafetySource.java index 6729830ab67..4e1741a7cda 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceSafetySource.java +++ b/src/com/android/settings/privatespace/PrivateSpaceSafetySource.java @@ -51,7 +51,8 @@ public final class PrivateSpaceSafetySource { return; } - if (!Flags.allowPrivateProfile()) { + if (!Flags.allowPrivateProfile() + || !android.multiuser.Flags.enablePrivateSpaceFeatures()) { // Setting null safetySourceData so that an old entry gets cleared out and this way // provide a response since SC always expects one on rescan. SafetyCenterManagerWrapper.get().setSafetySourceData( diff --git a/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java b/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java index 4a1e29b2452..399c2c82fbb 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java +++ b/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java @@ -51,7 +51,8 @@ public class PrivateSpaceSetLockFragment extends InstrumentedFragment { LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - if (!android.os.Flags.allowPrivateProfile()) { + if (!android.os.Flags.allowPrivateProfile() + || !android.multiuser.Flags.enablePrivateSpaceFeatures()) { return null; } GlifLayout rootView = diff --git a/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java b/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java index 78c96dcc5f3..ec7132adf0e 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java +++ b/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java @@ -42,7 +42,8 @@ public class PrivateSpaceSetupActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { - if (!android.os.Flags.allowPrivateProfile()) { + if (!android.os.Flags.allowPrivateProfile() + || !android.multiuser.Flags.enablePrivateSpaceFeatures()) { return; } setTheme(SetupWizardUtils.getTheme(this, getIntent())); diff --git a/src/com/android/settings/privatespace/SetupSuccessFragment.java b/src/com/android/settings/privatespace/SetupSuccessFragment.java index 13de1fc94fc..cf63b22fead 100644 --- a/src/com/android/settings/privatespace/SetupSuccessFragment.java +++ b/src/com/android/settings/privatespace/SetupSuccessFragment.java @@ -47,7 +47,8 @@ public class SetupSuccessFragment extends InstrumentedFragment { LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - if (!android.os.Flags.allowPrivateProfile()) { + if (!android.os.Flags.allowPrivateProfile() + || !android.multiuser.Flags.enablePrivateSpaceFeatures()) { return null; } GlifLayout rootView = diff --git a/src/com/android/settings/privatespace/autolock/AutoLockPreferenceController.java b/src/com/android/settings/privatespace/autolock/AutoLockPreferenceController.java index a7a12a4950c..3416e143d65 100644 --- a/src/com/android/settings/privatespace/autolock/AutoLockPreferenceController.java +++ b/src/com/android/settings/privatespace/autolock/AutoLockPreferenceController.java @@ -40,7 +40,8 @@ public class AutoLockPreferenceController extends BasePreferenceController { @Override public int getAvailabilityStatus() { return android.os.Flags.allowPrivateProfile() - && android.multiuser.Flags.supportAutolockForPrivateSpace() + && android.multiuser.Flags.supportAutolockForPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; } diff --git a/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragment.java b/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragment.java index ef8bf8e84b7..002063a8f1d 100644 --- a/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragment.java +++ b/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragment.java @@ -45,7 +45,8 @@ public class AutoLockSettingsFragment extends RadioButtonPickerFragment { @Override public void onCreate(@NonNull Bundle icicle) { if (android.os.Flags.allowPrivateProfile() - && android.multiuser.Flags.supportAutolockForPrivateSpace()) { + && android.multiuser.Flags.supportAutolockForPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { super.onCreate(icicle); } } diff --git a/src/com/android/settings/privatespace/delete/DeletePrivateSpaceController.java b/src/com/android/settings/privatespace/delete/DeletePrivateSpaceController.java index af4535ec43a..a2fc6f81d67 100644 --- a/src/com/android/settings/privatespace/delete/DeletePrivateSpaceController.java +++ b/src/com/android/settings/privatespace/delete/DeletePrivateSpaceController.java @@ -34,7 +34,10 @@ public class DeletePrivateSpaceController extends BasePreferenceController { @Override public int getAvailabilityStatus() { - return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; + return android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + ? AVAILABLE + : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteActivity.java b/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteActivity.java index a4109b868bc..b483aa3a460 100644 --- a/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteActivity.java +++ b/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteActivity.java @@ -35,7 +35,8 @@ public class PrivateSpaceDeleteActivity extends InstrumentedActivity { @Override protected void onCreate(Bundle savedInstanceState) { - if (!android.os.Flags.allowPrivateProfile()) { + if (!android.os.Flags.allowPrivateProfile() + || !android.multiuser.Flags.enablePrivateSpaceFeatures()) { return; } setTheme(SetupWizardUtils.getTheme(this, getIntent())); diff --git a/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragment.java b/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragment.java index 7dd3a5b0102..bcc220f1813 100644 --- a/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragment.java +++ b/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragment.java @@ -56,7 +56,8 @@ public class PrivateSpaceDeleteFragment extends InstrumentedFragment { @Override public void onCreate(@Nullable Bundle icicle) { - if (android.os.Flags.allowPrivateProfile()) { + if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { super.onCreate(icicle); } } diff --git a/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragment.java b/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragment.java index 3a166413565..33f0a3ee362 100644 --- a/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragment.java +++ b/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragment.java @@ -62,7 +62,8 @@ public class PrivateSpaceDeletionProgressFragment extends InstrumentedFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { - if (android.os.Flags.allowPrivateProfile()) { + if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { super.onCreate(savedInstanceState); } } diff --git a/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java b/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java index 2e3f2840b70..04f489401ed 100644 --- a/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java +++ b/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java @@ -42,6 +42,7 @@ public class FaceFingerprintUnlockController extends CombinedBiometricStatusPref protected boolean isUserSupported() { return android.os.Flags.allowPrivateProfile() && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && mProfileUserId != UserHandle.USER_NULL; } diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceBiometricSettings.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceBiometricSettings.java index dc00885cf87..827f0b72b60 100644 --- a/src/com/android/settings/privatespace/onelock/PrivateSpaceBiometricSettings.java +++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceBiometricSettings.java @@ -34,7 +34,8 @@ public class PrivateSpaceBiometricSettings extends BiometricsSettingsBase { @Override public void onAttach(Context context) { if (android.os.Flags.allowPrivateProfile() - && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()) { + && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { super.onAttach(context); UserHandle privateProfileHandle = PrivateSpaceMaintainer.getInstance(context).getPrivateProfileHandle(); diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceFacePreferenceController.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceFacePreferenceController.java index b841d9aded5..583a093dbc2 100644 --- a/src/com/android/settings/privatespace/onelock/PrivateSpaceFacePreferenceController.java +++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceFacePreferenceController.java @@ -45,6 +45,7 @@ public class PrivateSpaceFacePreferenceController extends BiometricFaceStatusPre protected boolean isUserSupported() { return android.os.Flags.allowPrivateProfile() && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && getUserId() != UserHandle.USER_NULL; } @@ -63,7 +64,8 @@ public class PrivateSpaceFacePreferenceController extends BiometricFaceStatusPre @Override public int getAvailabilityStatus() { return android.os.Flags.allowPrivateProfile() - && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; } diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceFingerprintPreferenceController.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceFingerprintPreferenceController.java index d48490460b5..f88c9facccc 100644 --- a/src/com/android/settings/privatespace/onelock/PrivateSpaceFingerprintPreferenceController.java +++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceFingerprintPreferenceController.java @@ -47,6 +47,7 @@ public class PrivateSpaceFingerprintPreferenceController protected boolean isUserSupported() { return android.os.Flags.allowPrivateProfile() && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures() && getUserId() != UserHandle.USER_NULL; } @@ -65,7 +66,8 @@ public class PrivateSpaceFingerprintPreferenceController @Override public int getAvailabilityStatus() { return android.os.Flags.allowPrivateProfile() - && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() + && android.multiuser.Flags.enablePrivateSpaceFeatures() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; } diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java index efbe9f9200d..e0f376e1007 100644 --- a/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java +++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java @@ -74,7 +74,8 @@ public class PrivateSpaceLockController extends AbstractPreferenceController { @Override public boolean isAvailable() { - return android.os.Flags.allowPrivateProfile(); + return android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures(); } @Override diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockController.java b/src/com/android/settings/privatespace/onelock/UseOneLockController.java index 31634b9ea00..1af36b333b6 100644 --- a/src/com/android/settings/privatespace/onelock/UseOneLockController.java +++ b/src/com/android/settings/privatespace/onelock/UseOneLockController.java @@ -45,7 +45,10 @@ public class UseOneLockController extends BasePreferenceController { } @Override public int getAvailabilityStatus() { - return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; + return android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + ? AVAILABLE + : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java index fd7d02b6c7a..680f5c7de0e 100644 --- a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java +++ b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java @@ -95,7 +95,8 @@ public class UseOneLockControllerSwitch extends AbstractPreferenceController @Override public boolean isAvailable() { - return android.os.Flags.allowPrivateProfile(); + return android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures(); } @Override diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java b/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java index 413e02a16f8..ce017e31152 100644 --- a/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java +++ b/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java @@ -39,7 +39,8 @@ public class UseOneLockSettingsFragment extends DashboardFragment { @Override public void onCreate(Bundle icicle) { - if (android.os.Flags.allowPrivateProfile()) { + if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures()) { super.onCreate(icicle); } } diff --git a/src/com/android/settings/safetycenter/BiometricsSafetySource.java b/src/com/android/settings/safetycenter/BiometricsSafetySource.java index 8e1c78644d9..c93ced1a50d 100644 --- a/src/com/android/settings/safetycenter/BiometricsSafetySource.java +++ b/src/com/android/settings/safetycenter/BiometricsSafetySource.java @@ -62,7 +62,9 @@ public final class BiometricsSafetySource { } final Context profileParentContext = context.createContextAsUser(profileParentUserHandle, 0); - if (android.os.Flags.allowPrivateProfile() && userManager.isPrivateProfile()) { + if (android.os.Flags.allowPrivateProfile() + && android.multiuser.Flags.enablePrivateSpaceFeatures() + && userManager.isPrivateProfile()) { // SC always expects a response from the source if the broadcast has been sent for this // source, therefore, we need to send a null SafetySourceData. SafetyCenterManagerWrapper.get().setSafetySourceData(