Merge changes from topic "add-ps-features-flag" into main

* changes:
  Add Private Space features flag check to Settings tests
  Add an additional flag guard for Private Space implementation
This commit is contained in:
Olivier Nshimiye
2024-03-07 10:48:58 +00:00
committed by Android (Google) Code Review
59 changed files with 227 additions and 95 deletions

View File

@@ -118,7 +118,8 @@ public class SettingsInitialize extends BroadcastReceiver {
} }
private void privateProfileSetup(Context context, PackageManager pm, UserInfo userInfo) { private void privateProfileSetup(Context context, PackageManager pm, UserInfo userInfo) {
if (Flags.allowPrivateProfile()) { if (Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
if (userInfo == null || !userInfo.isPrivateProfile()) { if (userInfo == null || !userInfo.isPrivateProfile()) {
return; return;
} }

View File

@@ -1228,6 +1228,7 @@ public final class Utils extends com.android.settingslib.Utils {
UserProperties userProperties = userManager.getUserProperties(userHandle); UserProperties userProperties = userManager.getUserProperties(userHandle);
if (userProperties.getShowInSettings() == UserProperties.SHOW_IN_SETTINGS_SEPARATE) { if (userProperties.getShowInSettings() == UserProperties.SHOW_IN_SETTINGS_SEPARATE) {
if (Flags.allowPrivateProfile() if (Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& userProperties.getShowInQuietMode() && userProperties.getShowInQuietMode()
== UserProperties.SHOW_IN_QUIET_MODE_HIDDEN) { == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN) {
if (!userManager.isQuietModeEnabled(userHandle)) { if (!userManager.isQuietModeEnabled(userHandle)) {

View File

@@ -311,11 +311,10 @@ public class AccountPreferenceController extends AbstractPreferenceController
// should be shown or not. // should be shown or not.
if (((profile.isManagedProfile() if (((profile.isManagedProfile()
&& (mType & ProfileSelectFragment.ProfileType.WORK) != 0) && (mType & ProfileSelectFragment.ProfileType.WORK) != 0)
|| (Flags.allowPrivateProfile() || (isPrivateProfile(profile)
&& profile.isPrivateProfile()
&& (mType & ProfileSelectFragment.ProfileType.PRIVATE) != 0) && (mType & ProfileSelectFragment.ProfileType.PRIVATE) != 0)
|| (!profile.isManagedProfile() || (!profile.isManagedProfile()
&& !(Flags.allowPrivateProfile() && profile.isPrivateProfile()) && !isPrivateProfile(profile)
&& (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0)) && (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0))
&& !(mUm.getUserProperties(profile.getUserHandle()) && !(mUm.getUserProperties(profile.getUserHandle())
.getShowInQuietMode() == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN .getShowInQuietMode() == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN
@@ -338,6 +337,12 @@ public class AccountPreferenceController extends AbstractPreferenceController
mFragment.forceUpdatePreferences(); mFragment.forceUpdatePreferences();
} }
private static boolean isPrivateProfile(UserInfo profile) {
return Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& profile.isPrivateProfile();
}
private void updateProfileUi(final UserInfo userInfo) { private void updateProfileUi(final UserInfo userInfo) {
if (mFragment.getPreferenceManager() == null) { if (mFragment.getPreferenceManager() == null) {
return; return;

View File

@@ -167,8 +167,9 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
} }
private boolean shouldSkipProfile(UserHandle profile) { private boolean shouldSkipProfile(UserHandle profile) {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace() && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& mUm.isQuietModeEnabled(profile) && mUm.isQuietModeEnabled(profile)
&& mUm.getUserProperties(profile).getShowInQuietMode() && mUm.getUserProperties(profile).getShowInQuietMode()
== UserProperties.SHOW_IN_QUIET_MODE_HIDDEN; == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN;

View File

@@ -239,7 +239,9 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
return WORK_TAB; return WORK_TAB;
} }
UserInfo userInfo = UserManager.get(activity).getUserInfo(userId); 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; return PRIVATE_TAB;
} }
} }
@@ -249,7 +251,9 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
return WORK_TAB; return WORK_TAB;
} }
UserInfo userInfo = UserManager.get(activity).getUserInfo(intentUser); 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; return PRIVATE_TAB;
} }
@@ -260,7 +264,7 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
final DevicePolicyManager devicePolicyManager = final DevicePolicyManager devicePolicyManager =
getContext().getSystemService(DevicePolicyManager.class); getContext().getSystemService(DevicePolicyManager.class);
if (Flags.allowPrivateProfile()) { if (Flags.allowPrivateProfile() && android.multiuser.Flags.enablePrivateSpaceFeatures()) {
int tabForPosition = int tabForPosition =
((ViewPagerAdapter) mViewPager.getAdapter()).getTabForPosition(position); ((ViewPagerAdapter) mViewPager.getAdapter()).getTabForPosition(position);
@@ -331,7 +335,9 @@ public abstract class ProfileSelectFragment extends DashboardFragment {
ProfileType.WORK, ProfileType.WORK,
bundle != null ? bundle.deepCopy() : new Bundle(), bundle != null ? bundle.deepCopy() : new Bundle(),
workFragmentConstructor)); workFragmentConstructor));
} else if (Flags.allowPrivateProfile() && userInfo.isPrivateProfile()) { } else if (Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& userInfo.isPrivateProfile()) {
if (!privateSpaceInfoProvider.isPrivateSpaceLocked(context)) { if (!privateSpaceInfoProvider.isPrivateSpaceLocked(context)) {
fragments.add(createAndGetFragment( fragments.add(createAndGetFragment(
ProfileType.PRIVATE, ProfileType.PRIVATE,

View File

@@ -87,6 +87,7 @@ public class UserAdapter extends BaseAdapter {
return resources.getString(WORK_CATEGORY_HEADER, return resources.getString(WORK_CATEGORY_HEADER,
() -> context.getString(com.android.settingslib.R.string.category_work)); () -> context.getString(com.android.settingslib.R.string.category_work));
} else if (android.os.Flags.allowPrivateProfile() } else if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& mUserManager.getUserInfo(userId).isPrivateProfile()) { && mUserManager.getUserInfo(userId).isPrivateProfile()) {
return resources.getString(PRIVATE_CATEGORY_HEADER, return resources.getString(PRIVATE_CATEGORY_HEADER,
() -> context.getString(com.android.settingslib.R.string.category_private)); () -> context.getString(com.android.settingslib.R.string.category_private));

View File

@@ -257,6 +257,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe
private boolean shouldSkipProfile(UserInfo userInfo) { private boolean shouldSkipProfile(UserInfo userInfo) {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace() && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& userInfo.isQuietModeEnabled() && userInfo.isQuietModeEnabled()
&& mUm.getUserProperties(userInfo.getUserHandle()).getShowInQuietMode() && mUm.getUserProperties(userInfo.getUserHandle()).getShowInQuietMode()
== UserProperties.SHOW_IN_QUIET_MODE_HIDDEN; == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN;

View File

@@ -416,6 +416,7 @@ public class ChooseLockPassword extends SettingsActivity {
public String getHint(Context context, boolean isAlpha, int type, ProfileType profile) { public String getHint(Context context, boolean isAlpha, int type, ProfileType profile) {
if (isAlpha) { if (isAlpha) {
if (android.os.Flags.allowPrivateProfile() if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& profile.equals(ProfileType.Private)) { && profile.equals(ProfileType.Private)) {
return context.getString(alphaHintForPrivateProfile); return context.getString(alphaHintForPrivateProfile);
} else if (type == TYPE_FINGERPRINT) { } else if (type == TYPE_FINGERPRINT) {
@@ -433,6 +434,7 @@ public class ChooseLockPassword extends SettingsActivity {
} }
} else { } else {
if (android.os.Flags.allowPrivateProfile() if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& profile.equals(ProfileType.Private)) { && profile.equals(ProfileType.Private)) {
return context.getString(numericHintForPrivateProfile); return context.getString(numericHintForPrivateProfile);
} else if (type == TYPE_FINGERPRINT) { } else if (type == TYPE_FINGERPRINT) {
@@ -1147,7 +1149,9 @@ public class ChooseLockPassword extends SettingsActivity {
/*flags=*/0).getSystemService(UserManager.class); /*flags=*/0).getSystemService(UserManager.class);
if (userManager.isManagedProfile()) { if (userManager.isManagedProfile()) {
return ProfileType.Managed; 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; return ProfileType.Private;
} else if (userManager.isProfile()) { } else if (userManager.isProfile()) {
return ProfileType.Other; return ProfileType.Other;

View File

@@ -478,7 +478,9 @@ public class ChooseLockPattern extends SettingsActivity {
.getString(SET_WORK_PROFILE_PATTERN_HEADER, .getString(SET_WORK_PROFILE_PATTERN_HEADER,
() -> getString( () -> getString(
R.string.lockpassword_choose_your_profile_pattern_header)); 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); msg = getString(R.string.private_space_choose_your_pattern_header);
} else { } else {
msg = getString(R.string.lockpassword_choose_your_pattern_header); msg = getString(R.string.lockpassword_choose_your_pattern_header);

View File

@@ -300,6 +300,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
launchedCDC = true; launchedCDC = true;
} }
} else if (android.os.Flags.allowPrivateProfile() } else if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& userProperties != null && userProperties != null
&& userProperties.isAuthAlwaysRequiredToDisableQuietMode() && userProperties.isAuthAlwaysRequiredToDisableQuietMode()
&& isInternalActivity()) { && isInternalActivity()) {
@@ -413,7 +414,8 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
private boolean doesUserStateEnforceStrongAuth(int userId) { private boolean doesUserStateEnforceStrongAuth(int userId) {
if (android.os.Flags.allowPrivateProfile() 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 // 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 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 // the user is stopped with delayed locking (i.e., with storage unlocked), so the user

View File

@@ -105,7 +105,8 @@ public class ConfirmDeviceCredentialUtils {
private static boolean isBiometricUnlockEnabledForPrivateSpace() { private static boolean isBiometricUnlockEnabledForPrivateSpace() {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace(); && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures();
} }
/** /**

View File

@@ -104,7 +104,8 @@ public class AutoAdvanceSetupFragment extends InstrumentedFragment {
@Override @Override
public void onCreate(@Nullable Bundle savedInstanceState) { public void onCreate(@Nullable Bundle savedInstanceState) {
if (android.os.Flags.allowPrivateProfile()) { if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
} }
} }

View File

@@ -38,7 +38,10 @@ public class HidePrivateSpaceController extends TogglePreferenceController {
@Override @Override
@AvailabilityStatus @AvailabilityStatus
public int getAvailabilityStatus() { 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 @Override

View File

@@ -52,6 +52,7 @@ public class HidePrivateSpaceSensitiveNotificationsController extends TogglePref
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
if (!android.os.Flags.allowPrivateProfile() if (!android.os.Flags.allowPrivateProfile()
|| !android.multiuser.Flags.enablePsSensitiveNotificationsToggle() || !android.multiuser.Flags.enablePsSensitiveNotificationsToggle()
|| !android.multiuser.Flags.enablePrivateSpaceFeatures()
|| !mPrivateSpaceMaintainer.doesPrivateSpaceExist()) { || !mPrivateSpaceMaintainer.doesPrivateSpaceExist()) {
return UNSUPPORTED_ON_DEVICE; return UNSUPPORTED_ON_DEVICE;
} }

View File

@@ -27,7 +27,8 @@ public class HidePrivateSpaceSettings extends DashboardFragment{
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
if (android.os.Flags.allowPrivateProfile()) { if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
super.onCreate(icicle); super.onCreate(icicle);
} }
} }

View File

@@ -36,7 +36,10 @@ public final class HidePrivateSpaceSummaryController extends BasePreferenceContr
@Override @Override
public int getAvailabilityStatus() { 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 @Override

View File

@@ -59,7 +59,8 @@ public class PrivateProfileContextHelperActivity extends FragmentActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
if (!android.os.Flags.allowPrivateProfile()) { if (!android.os.Flags.allowPrivateProfile()
|| !android.multiuser.Flags.enablePrivateSpaceFeatures()) {
return; return;
} }
setTheme(SetupWizardUtils.getTheme(this, getIntent())); setTheme(SetupWizardUtils.getTheme(this, getIntent()));

View File

@@ -77,7 +77,8 @@ public class PrivateSpaceAuthenticationActivity extends FragmentActivity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (Flags.allowPrivateProfile()) { if (Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
ThemeHelper.trySetDynamicColor(this); ThemeHelper.trySetDynamicColor(this);
mPrivateSpaceMaintainer = mPrivateSpaceMaintainer =
new Injector().injectPrivateSpaceMaintainer(getApplicationContext()); new Injector().injectPrivateSpaceMaintainer(getApplicationContext());

View File

@@ -32,7 +32,8 @@ public class PrivateSpaceDashboardFragment extends DashboardFragment {
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
if (android.os.Flags.allowPrivateProfile()) { if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
super.onCreate(icicle); super.onCreate(icicle);
if (icicle == null if (icicle == null
&& getIntent().getBooleanExtra(EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED, false)) { && getIntent().getBooleanExtra(EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED, false)) {

View File

@@ -43,7 +43,8 @@ public class PrivateSpaceEducation extends InstrumentedFragment {
LayoutInflater inflater, LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) { @Nullable Bundle savedInstanceState) {
if (!android.os.Flags.allowPrivateProfile()) { if (!android.os.Flags.allowPrivateProfile()
|| !android.multiuser.Flags.enablePrivateSpaceFeatures()) {
return null; return null;
} }
GlifLayout rootView = GlifLayout rootView =

View File

@@ -78,7 +78,8 @@ public class PrivateSpaceMaintainer {
*/ */
@VisibleForTesting @VisibleForTesting
public final synchronized boolean createPrivateSpace() { public final synchronized boolean createPrivateSpace() {
if (!Flags.allowPrivateProfile()) { if (!Flags.allowPrivateProfile()
|| !android.multiuser.Flags.enablePrivateSpaceFeatures()) {
return false; return false;
} }
// Check if Private space already exists // Check if Private space already exists
@@ -146,7 +147,8 @@ public class PrivateSpaceMaintainer {
/** Returns true if the Private space exists. */ /** Returns true if the Private space exists. */
public synchronized boolean doesPrivateSpaceExist() { public synchronized boolean doesPrivateSpaceExist() {
if (!Flags.allowPrivateProfile()) { if (!Flags.allowPrivateProfile()
|| !android.multiuser.Flags.enablePrivateSpaceFeatures()) {
return false; return false;
} }
if (mUserHandle != null) { if (mUserHandle != null) {
@@ -322,6 +324,7 @@ public class PrivateSpaceMaintainer {
private boolean isPrivateSpaceAutoLockSupported() { private boolean isPrivateSpaceAutoLockSupported() {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.supportAutolockForPrivateSpace(); && android.multiuser.Flags.supportAutolockForPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures();
} }
} }

View File

@@ -51,7 +51,8 @@ public final class PrivateSpaceSafetySource {
return; 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 // Setting null safetySourceData so that an old entry gets cleared out and this way
// provide a response since SC always expects one on rescan. // provide a response since SC always expects one on rescan.
SafetyCenterManagerWrapper.get().setSafetySourceData( SafetyCenterManagerWrapper.get().setSafetySourceData(

View File

@@ -51,7 +51,8 @@ public class PrivateSpaceSetLockFragment extends InstrumentedFragment {
LayoutInflater inflater, LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) { @Nullable Bundle savedInstanceState) {
if (!android.os.Flags.allowPrivateProfile()) { if (!android.os.Flags.allowPrivateProfile()
|| !android.multiuser.Flags.enablePrivateSpaceFeatures()) {
return null; return null;
} }
GlifLayout rootView = GlifLayout rootView =

View File

@@ -42,7 +42,8 @@ public class PrivateSpaceSetupActivity extends FragmentActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
if (!android.os.Flags.allowPrivateProfile()) { if (!android.os.Flags.allowPrivateProfile()
|| !android.multiuser.Flags.enablePrivateSpaceFeatures()) {
return; return;
} }
setTheme(SetupWizardUtils.getTheme(this, getIntent())); setTheme(SetupWizardUtils.getTheme(this, getIntent()));

View File

@@ -47,7 +47,8 @@ public class SetupSuccessFragment extends InstrumentedFragment {
LayoutInflater inflater, LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) { @Nullable Bundle savedInstanceState) {
if (!android.os.Flags.allowPrivateProfile()) { if (!android.os.Flags.allowPrivateProfile()
|| !android.multiuser.Flags.enablePrivateSpaceFeatures()) {
return null; return null;
} }
GlifLayout rootView = GlifLayout rootView =

View File

@@ -40,7 +40,8 @@ public class AutoLockPreferenceController extends BasePreferenceController {
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.supportAutolockForPrivateSpace() && android.multiuser.Flags.supportAutolockForPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
? AVAILABLE ? AVAILABLE
: UNSUPPORTED_ON_DEVICE; : UNSUPPORTED_ON_DEVICE;
} }

View File

@@ -47,7 +47,8 @@ public class AutoLockSettingsFragment extends RadioButtonPickerFragment {
@Override @Override
public void onCreate(@NonNull Bundle icicle) { public void onCreate(@NonNull Bundle icicle) {
if (android.os.Flags.allowPrivateProfile() if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.supportAutolockForPrivateSpace()) { && android.multiuser.Flags.supportAutolockForPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
super.onCreate(icicle); super.onCreate(icicle);
} }
} }

View File

@@ -34,7 +34,10 @@ public class DeletePrivateSpaceController extends BasePreferenceController {
@Override @Override
public int getAvailabilityStatus() { 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 @Override

View File

@@ -35,7 +35,8 @@ public class PrivateSpaceDeleteActivity extends InstrumentedActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
if (!android.os.Flags.allowPrivateProfile()) { if (!android.os.Flags.allowPrivateProfile()
|| !android.multiuser.Flags.enablePrivateSpaceFeatures()) {
return; return;
} }
setTheme(SetupWizardUtils.getTheme(this, getIntent())); setTheme(SetupWizardUtils.getTheme(this, getIntent()));

View File

@@ -56,7 +56,8 @@ public class PrivateSpaceDeleteFragment extends InstrumentedFragment {
@Override @Override
public void onCreate(@Nullable Bundle icicle) { public void onCreate(@Nullable Bundle icicle) {
if (android.os.Flags.allowPrivateProfile()) { if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
super.onCreate(icicle); super.onCreate(icicle);
} }
} }

View File

@@ -62,7 +62,8 @@ public class PrivateSpaceDeletionProgressFragment extends InstrumentedFragment {
@Override @Override
public void onCreate(@Nullable Bundle savedInstanceState) { public void onCreate(@Nullable Bundle savedInstanceState) {
if (android.os.Flags.allowPrivateProfile()) { if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
} }
} }

View File

@@ -42,6 +42,7 @@ public class FaceFingerprintUnlockController extends CombinedBiometricStatusPref
protected boolean isUserSupported() { protected boolean isUserSupported() {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& mProfileUserId != UserHandle.USER_NULL; && mProfileUserId != UserHandle.USER_NULL;
} }

View File

@@ -34,7 +34,8 @@ public class PrivateSpaceBiometricSettings extends BiometricsSettingsBase {
@Override @Override
public void onAttach(Context context) { public void onAttach(Context context) {
if (android.os.Flags.allowPrivateProfile() if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()) { && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
super.onAttach(context); super.onAttach(context);
UserHandle privateProfileHandle = UserHandle privateProfileHandle =
PrivateSpaceMaintainer.getInstance(context).getPrivateProfileHandle(); PrivateSpaceMaintainer.getInstance(context).getPrivateProfileHandle();

View File

@@ -45,6 +45,7 @@ public class PrivateSpaceFacePreferenceController extends BiometricFaceStatusPre
protected boolean isUserSupported() { protected boolean isUserSupported() {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& getUserId() != UserHandle.USER_NULL; && getUserId() != UserHandle.USER_NULL;
} }
@@ -63,7 +64,8 @@ public class PrivateSpaceFacePreferenceController extends BiometricFaceStatusPre
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
? AVAILABLE ? AVAILABLE
: UNSUPPORTED_ON_DEVICE; : UNSUPPORTED_ON_DEVICE;
} }

View File

@@ -47,6 +47,7 @@ public class PrivateSpaceFingerprintPreferenceController
protected boolean isUserSupported() { protected boolean isUserSupported() {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
&& getUserId() != UserHandle.USER_NULL; && getUserId() != UserHandle.USER_NULL;
} }
@@ -65,7 +66,8 @@ public class PrivateSpaceFingerprintPreferenceController
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
return android.os.Flags.allowPrivateProfile() return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()
? AVAILABLE ? AVAILABLE
: UNSUPPORTED_ON_DEVICE; : UNSUPPORTED_ON_DEVICE;
} }

View File

@@ -74,7 +74,8 @@ public class PrivateSpaceLockController extends AbstractPreferenceController {
@Override @Override
public boolean isAvailable() { public boolean isAvailable() {
return android.os.Flags.allowPrivateProfile(); return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures();
} }
@Override @Override

View File

@@ -45,7 +45,10 @@ public class UseOneLockController extends BasePreferenceController {
} }
@Override @Override
public int getAvailabilityStatus() { 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 @Override

View File

@@ -95,7 +95,8 @@ public class UseOneLockControllerSwitch extends AbstractPreferenceController
@Override @Override
public boolean isAvailable() { public boolean isAvailable() {
return android.os.Flags.allowPrivateProfile(); return android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures();
} }
@Override @Override

View File

@@ -39,7 +39,8 @@ public class UseOneLockSettingsFragment extends DashboardFragment {
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
if (android.os.Flags.allowPrivateProfile()) { if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
super.onCreate(icicle); super.onCreate(icicle);
} }
} }

View File

@@ -62,7 +62,9 @@ public final class BiometricsSafetySource {
} }
final Context profileParentContext = final Context profileParentContext =
context.createContextAsUser(profileParentUserHandle, 0); 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 // 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. // source, therefore, we need to send a null SafetySourceData.
SafetyCenterManagerWrapper.get().setSafetySourceData( SafetyCenterManagerWrapper.get().setSafetySourceData(

View File

@@ -174,7 +174,8 @@ public class ProfileSelectFragmentTest {
@Test @Test
public void getTabId_setPrivateId_getCorrectTab() { public void getTabId_setPrivateId_getCorrectTab() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
final Bundle bundle = new Bundle(); final Bundle bundle = new Bundle();
bundle.putInt(EXTRA_USER_ID, 11); bundle.putInt(EXTRA_USER_ID, 11);
mUserManager.setPrivateProfile(11, "private", 0); mUserManager.setPrivateProfile(11, "private", 0);
@@ -204,7 +205,8 @@ public class ProfileSelectFragmentTest {
@Test @Test
public void testGetFragments_whenOnlyPersonal_returnsOneFragment() { public void testGetFragments_whenOnlyPersonal_returnsOneFragment() {
mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
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, 0, USER_TYPE_FULL_SYSTEM));
Fragment[] fragments = ProfileSelectFragment.getFragments( Fragment[] fragments = ProfileSelectFragment.getFragments(
@@ -239,7 +241,8 @@ public class ProfileSelectFragmentTest {
@Test @Test
public void testGetFragments_whenPrivateEnabled_returnsTwoFragments() { public void testGetFragments_whenPrivateEnabled_returnsTwoFragments() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
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, 0, USER_TYPE_FULL_SYSTEM));
mUserManager.addProfile( mUserManager.addProfile(
@@ -261,7 +264,8 @@ public class ProfileSelectFragmentTest {
@Test @Test
public void testGetFragments_whenManagedProfile_returnsTwoFragments() { public void testGetFragments_whenManagedProfile_returnsTwoFragments() {
mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
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, 0, USER_TYPE_FULL_SYSTEM));
mUserManager.addProfile( mUserManager.addProfile(
@@ -283,7 +287,8 @@ public class ProfileSelectFragmentTest {
@Test @Test
public void testGetFragments_whenAllProfiles_returnsThreeFragments() { public void testGetFragments_whenAllProfiles_returnsThreeFragments() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
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, 0, USER_TYPE_FULL_SYSTEM));
mUserManager.addProfile( mUserManager.addProfile(
@@ -307,7 +312,8 @@ public class ProfileSelectFragmentTest {
@Test @Test
public void testGetFragments_whenAvailableBundle_returnsFragmentsWithCorrectBundles() { public void testGetFragments_whenAvailableBundle_returnsFragmentsWithCorrectBundles() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
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, 0, USER_TYPE_FULL_SYSTEM));
mUserManager.addProfile( mUserManager.addProfile(

View File

@@ -49,7 +49,8 @@ class SecuritySettingsTest {
} }
@Test @Test
@RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE) @RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES)
fun privateSpace_ifFlagON() { fun privateSpace_ifFlagON() {
device.assertHasTexts(listOf("Private Space")) device.assertHasTexts(listOf("Private Space"))
} }

View File

@@ -38,7 +38,8 @@ import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class) @RunWith(AndroidJUnit4::class)
@RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE) @RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES)
class PrivateSpaceAuthenticationActivityTest { class PrivateSpaceAuthenticationActivityTest {
private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())

View File

@@ -310,7 +310,8 @@ public class CombinedBiometricStatusUtilsTest {
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(false); when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(false);
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE, android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE); android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mCombinedBiometricStatusUtils.getPrivateProfileSettingsClassName()) assertThat(mCombinedBiometricStatusUtils.getPrivateProfileSettingsClassName())
.isEqualTo(Settings.PrivateSpaceBiometricSettingsActivity.class.getName()); .isEqualTo(Settings.PrivateSpaceBiometricSettingsActivity.class.getName());

View File

@@ -75,7 +75,8 @@ public class FaceFingerprintUnlockControllerTest {
public void getAvailabilityStatus_whenFlagsEnabled_returnsAvailable() { public void getAvailabilityStatus_whenFlagsEnabled_returnsAvailable() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE, android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE); android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(true); assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(true);
} }
@@ -83,18 +84,33 @@ public class FaceFingerprintUnlockControllerTest {
/** Tests that the controller is not available when Biometrics flag is not enabled. */ /** Tests that the controller is not available when Biometrics flag is not enabled. */
@Test @Test
public void getAvailabilityStatus_whenBiometricFlagDisabled_returnsFalse() { public void getAvailabilityStatus_whenBiometricFlagDisabled_returnsFalse() {
mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mSetFlagsRule.disableFlags( mSetFlagsRule.disableFlags(
android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE); android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE);
assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(false); assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(false);
} }
/** Tests that the controller is not available when private feature flag is not enabled. */ /**
* Tests that the controller is not available when the main private space flag is not
* enabled.
*/
@Test @Test
public void getAvailabilityStatus_whenPrivateFlagDisabled_returnsFalse() { public void getAvailabilityStatus_whenPsMainFlagDisabled_returnsFalse() {
mSetFlagsRule.disableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.disableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE);
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(false);
}
/** Tests that the controller is not available when private features flag is not enabled. */
@Test
public void getAvailabilityStatus_whenPsFeaturesFlagDisabled_returnsFalse() {
mSetFlagsRule.disableFlags(android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE); android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE);
assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(false); assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(false);
@@ -106,7 +122,8 @@ public class FaceFingerprintUnlockControllerTest {
doReturn(false).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt()); doReturn(false).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE, android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE); android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mFaceFingerprintUnlockController.updateState(mPreference); mFaceFingerprintUnlockController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isFalse(); assertThat(mPreference.isEnabled()).isFalse();
@@ -119,7 +136,8 @@ public class FaceFingerprintUnlockControllerTest {
doReturn(true).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt()); doReturn(true).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE, android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE); android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mFaceFingerprintUnlockController.updateState(mPreference); mFaceFingerprintUnlockController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isTrue(); assertThat(mPreference.isEnabled()).isTrue();

View File

@@ -40,7 +40,8 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE) @RequiresFlagsEnabled({Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES})
public class HidePrivateSpaceControllerTest { public class HidePrivateSpaceControllerTest {
@Rule @Rule
public final CheckFlagsRule mCheckFlagsRule = public final CheckFlagsRule mCheckFlagsRule =

View File

@@ -67,7 +67,8 @@ public class HidePrivateSpaceSensitiveNotificationsControllerTest {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
android.multiuser.Flags.FLAG_ENABLE_PS_SENSITIVE_NOTIFICATIONS_TOGGLE); android.multiuser.Flags.FLAG_ENABLE_PS_SENSITIVE_NOTIFICATIONS_TOGGLE);
mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mPrivateProfileId = PrivateSpaceMaintainer.getInstance( mPrivateProfileId = PrivateSpaceMaintainer.getInstance(
mContext).getPrivateProfileHandle().getIdentifier(); mContext).getPrivateProfileHandle().getIdentifier();
@@ -143,7 +144,8 @@ public class HidePrivateSpaceSensitiveNotificationsControllerTest {
public void getAvailabilityStatus_flagDisabled() { public void getAvailabilityStatus_flagDisabled() {
mSetFlagsRule.disableFlags( mSetFlagsRule.disableFlags(
android.multiuser.Flags.FLAG_ENABLE_PS_SENSITIVE_NOTIFICATIONS_TOGGLE); android.multiuser.Flags.FLAG_ENABLE_PS_SENSITIVE_NOTIFICATIONS_TOGGLE);
mSetFlagsRule.disableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.disableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1); Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.putInt(mContext.getContentResolver(),

View File

@@ -40,7 +40,8 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE) @RequiresFlagsEnabled({Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES})
public class HidePrivateSpaceSummaryControllerTest { public class HidePrivateSpaceSummaryControllerTest {
@Rule @Rule
public final CheckFlagsRule mCheckFlagsRule = public final CheckFlagsRule mCheckFlagsRule =

View File

@@ -88,7 +88,8 @@ public class PrivateSpaceAuthenticationActivityTest {
/** Tests that when Private does not exist setup flow is started. */ /** Tests that when Private does not exist setup flow is started. */
//TODO(b/307729746) Plan to add more tests for complete setup flow //TODO(b/307729746) Plan to add more tests for complete setup flow
@Test @Test
@RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE) @RequiresFlagsEnabled({Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES})
public void whenPrivateProfileDoesNotExist_triggersSetupFlow() { public void whenPrivateProfileDoesNotExist_triggersSetupFlow() {
when(mPrivateSpaceMaintainer.doesPrivateSpaceExist()).thenReturn(false); when(mPrivateSpaceMaintainer.doesPrivateSpaceExist()).thenReturn(false);

View File

@@ -80,7 +80,8 @@ public class PrivateSpaceLockControllerTest {
/** Tests that the controller is always available. */ /** Tests that the controller is always available. */
@Test @Test
public void getAvailabilityStatus_returnsAvailable() { public void getAvailabilityStatus_returnsAvailable() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mPrivateSpaceLockController.isAvailable()).isEqualTo(true); assertThat(mPrivateSpaceLockController.isAvailable()).isEqualTo(true);
} }
@@ -89,7 +90,8 @@ public class PrivateSpaceLockControllerTest {
@Test @Test
public void getSummary_whenScreenLock() { public void getSummary_whenScreenLock() {
doReturn(false).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt()); doReturn(false).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mPrivateSpaceLockController.updateState(mPreference); mPrivateSpaceLockController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isFalse(); assertThat(mPreference.isEnabled()).isFalse();
@@ -103,7 +105,8 @@ public class PrivateSpaceLockControllerTest {
.when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt()); .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
doReturn(CREDENTIAL_TYPE_PATTERN) doReturn(CREDENTIAL_TYPE_PATTERN)
.when(mLockPatternUtils).getCredentialTypeForUser(anyInt()); .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mPrivateSpaceLockController.updateState(mPreference); mPrivateSpaceLockController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isTrue(); assertThat(mPreference.isEnabled()).isTrue();
@@ -115,7 +118,8 @@ public class PrivateSpaceLockControllerTest {
public void getSummary_whenProfileLockPin() { public void getSummary_whenProfileLockPin() {
doReturn(true).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt()); doReturn(true).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
doReturn(CREDENTIAL_TYPE_PIN).when(mLockPatternUtils).getCredentialTypeForUser(anyInt()); doReturn(CREDENTIAL_TYPE_PIN).when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mPrivateSpaceLockController.updateState(mPreference); mPrivateSpaceLockController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isTrue(); assertThat(mPreference.isEnabled()).isTrue();
@@ -129,7 +133,8 @@ public class PrivateSpaceLockControllerTest {
.when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt()); .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
doReturn(CREDENTIAL_TYPE_PASSWORD) doReturn(CREDENTIAL_TYPE_PASSWORD)
.when(mLockPatternUtils).getCredentialTypeForUser(anyInt()); .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mPrivateSpaceLockController.updateState(mPreference); mPrivateSpaceLockController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isTrue(); assertThat(mPreference.isEnabled()).isTrue();

View File

@@ -148,7 +148,8 @@ public class PrivateSpaceMaintainerTest {
public void createPrivateSpace_psDoesNotExist_setsDefaultPsSensitiveNotificationsValue() { public void createPrivateSpace_psDoesNotExist_setsDefaultPsSensitiveNotificationsValue() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PS_SENSITIVE_NOTIFICATIONS_TOGGLE); android.multiuser.Flags.FLAG_ENABLE_PS_SENSITIVE_NOTIFICATIONS_TOGGLE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer privateSpaceMaintainer =
PrivateSpaceMaintainer.getInstance(mContext); PrivateSpaceMaintainer.getInstance(mContext);
privateSpaceMaintainer.deletePrivateSpace(); privateSpaceMaintainer.deletePrivateSpace();
@@ -259,7 +260,8 @@ public class PrivateSpaceMaintainerTest {
public void createPrivateSpace_psDoesNotExist_resetsPSAutoLockSettings() { public void createPrivateSpace_psDoesNotExist_resetsPSAutoLockSettings() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
final int autoLockOption = 2; final int autoLockOption = 2;
PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer privateSpaceMaintainer =
PrivateSpaceMaintainer.getInstance(mContext); PrivateSpaceMaintainer.getInstance(mContext);
@@ -282,7 +284,8 @@ public class PrivateSpaceMaintainerTest {
public void createPrivateSpace_psExists_doesNotResetPSAutoLockSettings() { public void createPrivateSpace_psExists_doesNotResetPSAutoLockSettings() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
final int privateSpaceAutLockValue = 1; final int privateSpaceAutLockValue = 1;
PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer privateSpaceMaintainer =
PrivateSpaceMaintainer.getInstance(mContext); PrivateSpaceMaintainer.getInstance(mContext);

View File

@@ -86,7 +86,8 @@ public class PrivateSpaceSafetySourceTest {
@Test @Test
public void onDeviceRebootedEvent_whenSafetyCenterEnabled_setsData() { public void onDeviceRebootedEvent_whenSafetyCenterEnabled_setsData() {
when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true); when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED); PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);
@@ -98,7 +99,8 @@ public class PrivateSpaceSafetySourceTest {
@Test @Test
public void setSafetySourceData_whenFeatureDisabled_setsNullData() { public void setSafetySourceData_whenFeatureDisabled_setsNullData() {
when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true); when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED); PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);
@@ -113,7 +115,8 @@ public class PrivateSpaceSafetySourceTest {
@Test @Test
public void setSafetySourceData_setsEnabled() { public void setSafetySourceData_setsEnabled() {
when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true); when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED); PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);
@@ -129,7 +132,8 @@ public class PrivateSpaceSafetySourceTest {
@Test @Test
public void setSafetySourceData_setsPsAuthenticatorIntent() { public void setSafetySourceData_setsPsAuthenticatorIntent() {
when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true); when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED); PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);

View File

@@ -74,7 +74,8 @@ public class UseOneLockControllerTest {
/** Tests that the controller is always available. */ /** Tests that the controller is always available. */
@Test @Test
public void getAvailabilityStatus_returnsAvailable() { public void getAvailabilityStatus_returnsAvailable() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mUseOneLockController.getAvailabilityStatus()).isEqualTo(AVAILABLE); assertThat(mUseOneLockController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
} }
@@ -87,7 +88,8 @@ public class UseOneLockControllerTest {
.when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt()); .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
doReturn(CREDENTIAL_TYPE_PATTERN) doReturn(CREDENTIAL_TYPE_PATTERN)
.when(mLockPatternUtils).getCredentialTypeForUser(anyInt()); .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mUseOneLockController.updateState(mPreference); mUseOneLockController.updateState(mPreference);
assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("Pattern"); assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("Pattern");
@@ -99,7 +101,8 @@ public class UseOneLockControllerTest {
doReturn(true) doReturn(true)
.when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt()); .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
doReturn(CREDENTIAL_TYPE_PIN).when(mLockPatternUtils).getCredentialTypeForUser(anyInt()); doReturn(CREDENTIAL_TYPE_PIN).when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mUseOneLockController.updateState(mPreference); mUseOneLockController.updateState(mPreference);
assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("PIN"); assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("PIN");
@@ -112,7 +115,8 @@ public class UseOneLockControllerTest {
.when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt()); .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
doReturn(CREDENTIAL_TYPE_PASSWORD) doReturn(CREDENTIAL_TYPE_PASSWORD)
.when(mLockPatternUtils).getCredentialTypeForUser(anyInt()); .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mUseOneLockController.updateState(mPreference); mUseOneLockController.updateState(mPreference);
assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("Password"); assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("Password");

View File

@@ -75,7 +75,8 @@ public class AutoLockPreferenceControllerTest {
public void getAvailabilityStatus_withAutoLockFlagEnabled_returnsAvailable() { public void getAvailabilityStatus_withAutoLockFlagEnabled_returnsAvailable() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mAutoLockPreferenceController.getAvailabilityStatus()).isEqualTo(AVAILABLE); assertThat(mAutoLockPreferenceController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
} }
@@ -83,7 +84,8 @@ public class AutoLockPreferenceControllerTest {
/** Tests that the controller is not available when auto lock flag is off. */ /** Tests that the controller is not available when auto lock flag is off. */
@Test @Test
public void getAvailabilityStatus_withAutoLockFlagDisabled_returnsNull() { public void getAvailabilityStatus_withAutoLockFlagDisabled_returnsNull() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mSetFlagsRule.disableFlags(android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); mSetFlagsRule.disableFlags(android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
assertThat(mAutoLockPreferenceController.getAvailabilityStatus()) assertThat(mAutoLockPreferenceController.getAvailabilityStatus())
@@ -98,7 +100,8 @@ public class AutoLockPreferenceControllerTest {
public void getSummary_whenOptionEveryTimeDeviceLocks_returnsEveryTimeDeviceLocks() { public void getSummary_whenOptionEveryTimeDeviceLocks_returnsEveryTimeDeviceLocks() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
Settings.Secure.putInt( Settings.Secure.putInt(
mContentResolver, mContentResolver,
@@ -116,7 +119,8 @@ public class AutoLockPreferenceControllerTest {
public void getSummary_whenOptionAfter5MinutesOfInactivity_returnsAfter5MinutesOfInactivity() { public void getSummary_whenOptionAfter5MinutesOfInactivity_returnsAfter5MinutesOfInactivity() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
Settings.Secure.putInt( Settings.Secure.putInt(
mContentResolver, mContentResolver,
@@ -131,7 +135,8 @@ public class AutoLockPreferenceControllerTest {
public void getSummary_whenOptionNever_returnsNever() { public void getSummary_whenOptionNever_returnsNever() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
Settings.Secure.putInt( Settings.Secure.putInt(
mContentResolver, mContentResolver,

View File

@@ -94,7 +94,8 @@ public class AutoLockSettingsFragmentTest {
public void verifyMetricsConstant() { public void verifyMetricsConstant() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.PRIVATE_SPACE_SETTINGS); assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.PRIVATE_SPACE_SETTINGS);
} }
@@ -103,7 +104,8 @@ public class AutoLockSettingsFragmentTest {
public void getCandidates_returnsCandidateInfoListWithAllKeys() { public void getCandidates_returnsCandidateInfoListWithAllKeys() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mFragment.onAttach(mContext); mFragment.onAttach(mContext);
final List<? extends CandidateInfo> candidates = mFragment.getCandidates(); final List<? extends CandidateInfo> candidates = mFragment.getCandidates();
@@ -120,7 +122,8 @@ public class AutoLockSettingsFragmentTest {
public void getDefaultKey_returnsStoredAutoLockOptionsValue() { public void getDefaultKey_returnsStoredAutoLockOptionsValue() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mFragment.onAttach(mContext); mFragment.onAttach(mContext);
@@ -144,7 +147,8 @@ public class AutoLockSettingsFragmentTest {
public void setDefaultKey_storesCorrectAutoLockOptionValue() { public void setDefaultKey_storesCorrectAutoLockOptionValue() {
mSetFlagsRule.enableFlags( mSetFlagsRule.enableFlags(
Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE); android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mFragment.onAttach(mContext); mFragment.onAttach(mContext);
mFragment.setDefaultKey("2"); mFragment.setDefaultKey("2");

View File

@@ -58,7 +58,8 @@ public class DeletePrivateSpaceControllerTest {
/** Tests that the controller is available when private space flag is enabled. */ /** Tests that the controller is available when private space flag is enabled. */
@Test @Test
public void getAvailabilityStatus_whenPrivateFlagEnabled_returnsAvailable() { public void getAvailabilityStatus_whenPrivateFlagEnabled_returnsAvailable() {
mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mDeletePrivateSpaceController.getAvailabilityStatus()).isEqualTo(AVAILABLE); assertThat(mDeletePrivateSpaceController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
} }
@@ -66,7 +67,8 @@ public class DeletePrivateSpaceControllerTest {
/** Tests that the controller is not available when private space flag is disabled. */ /** Tests that the controller is not available when private space flag is disabled. */
@Test @Test
public void getAvailabilityStatus_whenPrivateFlagDisabled_returnsUnsupportedOnDevice() { public void getAvailabilityStatus_whenPrivateFlagDisabled_returnsUnsupportedOnDevice() {
mSetFlagsRule.disableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.disableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mDeletePrivateSpaceController.getAvailabilityStatus()) assertThat(mDeletePrivateSpaceController.getAvailabilityStatus())
.isEqualTo(UNSUPPORTED_ON_DEVICE); .isEqualTo(UNSUPPORTED_ON_DEVICE);

View File

@@ -39,7 +39,8 @@ public class PrivateSpaceDeleteFragmentTest {
@Test @Test
@UiThreadTest @UiThreadTest
public void verifyMetricsConstant() { public void verifyMetricsConstant() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mFragment = spy(new PrivateSpaceDeleteFragment()); mFragment = spy(new PrivateSpaceDeleteFragment());
assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.PRIVATE_SPACE_SETTINGS); assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.PRIVATE_SPACE_SETTINGS);
} }

View File

@@ -77,7 +77,8 @@ public class PrivateSpaceDeletionProgressFragmentTest {
@Test @Test
@UiThreadTest @UiThreadTest
public void verifyMetricsConstant() { public void verifyMetricsConstant() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.PRIVATE_SPACE_SETTINGS); assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.PRIVATE_SPACE_SETTINGS);
} }
@@ -87,7 +88,8 @@ public class PrivateSpaceDeletionProgressFragmentTest {
public void deletePrivateSpace_deletesPS() { public void deletePrivateSpace_deletesPS() {
PrivateSpaceDeletionProgressFragment spyFragment = spy(mFragment); PrivateSpaceDeletionProgressFragment spyFragment = spy(mFragment);
doNothing().when(spyFragment).showSuccessfulDeletionToast(); doNothing().when(spyFragment).showSuccessfulDeletionToast();
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mPrivateSpaceMaintainer.createPrivateSpace(); mPrivateSpaceMaintainer.createPrivateSpace();
spyFragment.deletePrivateSpace(); spyFragment.deletePrivateSpace();
@@ -100,7 +102,8 @@ public class PrivateSpaceDeletionProgressFragmentTest {
public void deletePrivateSpace_onDeletion_showsDeletedToast() { public void deletePrivateSpace_onDeletion_showsDeletedToast() {
PrivateSpaceDeletionProgressFragment spyFragment = spy(mFragment); PrivateSpaceDeletionProgressFragment spyFragment = spy(mFragment);
doNothing().when(spyFragment).showSuccessfulDeletionToast(); doNothing().when(spyFragment).showSuccessfulDeletionToast();
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
mPrivateSpaceMaintainer.createPrivateSpace(); mPrivateSpaceMaintainer.createPrivateSpace();
spyFragment.deletePrivateSpace(); spyFragment.deletePrivateSpace();
@@ -123,7 +126,8 @@ public class PrivateSpaceDeletionProgressFragmentTest {
spyFragment.setPrivateSpaceMaintainer(injector); spyFragment.setPrivateSpaceMaintainer(injector);
doReturn(DELETE_PS_ERROR_INTERNAL).when(mPrivateSpaceMaintainerMock).deletePrivateSpace(); doReturn(DELETE_PS_ERROR_INTERNAL).when(mPrivateSpaceMaintainerMock).deletePrivateSpace();
doNothing().when(spyFragment).showDeletionInternalErrorToast(); doNothing().when(spyFragment).showDeletionInternalErrorToast();
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
spyFragment.deletePrivateSpace(); spyFragment.deletePrivateSpace();

View File

@@ -247,7 +247,8 @@ public class SafetySourceBroadcastReceiverTest {
@Test @Test
public void onReceive_onRefresh_withPrivateSpaceFeatureDisabled_setsNullData() { public void onReceive_onRefresh_withPrivateSpaceFeatureDisabled_setsNullData() {
when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true); when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE); mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
Intent intent = Intent intent =
new Intent() new Intent()