Remove all Settings tasks from Recents when PS is locked

Bug: 330865434
Test: manual
Test: atest PrivateSpaceMaintainerTest
Change-Id: I56b12a6ea5bfedd243fd138ef898f8496301199e
This commit is contained in:
Manish Singh
2024-03-27 17:23:33 +00:00
parent a9f137842a
commit f42207e1d9
2 changed files with 126 additions and 6 deletions

View File

@@ -90,6 +90,7 @@ public class PrivateSpaceMaintainerTest {
public void deletePrivateSpace_psDoesNotExist_returnsNoPSError() {
PrivateSpaceMaintainer privateSpaceMaintainer =
PrivateSpaceMaintainer.getInstance(mContext);
privateSpaceMaintainer.deletePrivateSpace();
ErrorDeletingPrivateSpace errorDeletingPrivateSpace =
privateSpaceMaintainer.deletePrivateSpace();
assertThat(errorDeletingPrivateSpace)
@@ -178,6 +179,30 @@ public class PrivateSpaceMaintainerTest {
.isEqualTo(HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL);
}
@Test
public void createPrivateSpace_psDoesNotExist_registersTheBroadcastReceiver() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
PrivateSpaceMaintainer privateSpaceMaintainer =
PrivateSpaceMaintainer.getInstance(mContext);
privateSpaceMaintainer.deletePrivateSpace();
privateSpaceMaintainer.createPrivateSpace();
// test that no exception is thrown, which would indicate that the receiver was registered.
mContext.unregisterReceiver(privateSpaceMaintainer.getBroadcastReceiver());
privateSpaceMaintainer.resetBroadcastReceiver();
}
@Test
public void deletePrivateSpace_psExists_unregistersTheBroadcastReceiver() {
mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE,
android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES);
PrivateSpaceMaintainer privateSpaceMaintainer =
PrivateSpaceMaintainer.getInstance(mContext);
privateSpaceMaintainer.createPrivateSpace();
privateSpaceMaintainer.deletePrivateSpace();
assertThat(privateSpaceMaintainer.getBroadcastReceiver()).isNull();
}
/**
* Tests that {@link PrivateSpaceMaintainer#lockPrivateSpace()} when PS exists and is running
* locks the private profile.