Loading src/com/android/settings/privatespace/PrivateSpaceMaintainer.java +13 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE; import static android.provider.Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT; import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK; import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK_AFTER_DEVICE_RESTART; import static android.provider.Settings.Secure.SKIP_FIRST_USE_HINTS; import static android.provider.Settings.Secure.USER_SETUP_COMPLETE; import android.app.ActivityManager; Loading Loading @@ -122,6 +123,7 @@ public class PrivateSpaceMaintainer { Log.i(TAG, "Private space created with id: " + mUserHandle.getIdentifier()); resetPrivateSpaceSettings(); setUserSetupComplete(); setSkipFirstUseHints(); } return true; } Loading Loading @@ -350,6 +352,17 @@ public class PrivateSpaceMaintainer { 1, mUserHandle.getIdentifier()); } /** * Sets the SKIP_FIRST_USE_HINTS for private profile so that the first launch of an app in * private space will not display introductory hints. */ @GuardedBy("this") private void setSkipFirstUseHints() { Log.d(TAG, "setting SKIP_FIRST_USE_HINTS = 1 for private profile"); Settings.Secure.putIntForUser(mContext.getContentResolver(), SKIP_FIRST_USE_HINTS, 1, mUserHandle.getIdentifier()); } private boolean isPrivateSpaceAutoLockSupported() { return android.os.Flags.allowPrivateProfile() && android.multiuser.Flags.supportAutolockForPrivateSpace() Loading tests/unit/src/com/android/settings/privatespace/PrivateSpaceMaintainerTest.java +34 −0 Original line number Diff line number Diff line Loading @@ -421,6 +421,30 @@ public class PrivateSpaceMaintainerTest { assertThat(privateSpaceMaintainer.isPrivateSpaceEntryPointEnabled()).isFalse(); } @Test public void createPrivateSpace_psDoesNotExist_setsSkipFirstUseHints() { mSetFlagsRule.enableFlags( android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES); assumeTrue(mContext.getSystemService(UserManager.class).canAddPrivateProfile()); PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext); privateSpaceMaintainer.createPrivateSpace(); assertThat(getSecureSkipFirstUseHints()).isEqualTo(1); } @Test public void createPrivateSpace_pSExists_doesNotChangeSkipFirstUseHints() { mSetFlagsRule.enableFlags( android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES); assumeTrue(mContext.getSystemService(UserManager.class).canAddPrivateProfile()); PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext); privateSpaceMaintainer.createPrivateSpace(); assertThat(getSecureSkipFirstUseHints()).isEqualTo(1); privateSpaceMaintainer.createPrivateSpace(); assertThat(getSecureSkipFirstUseHints()).isEqualTo(1); } private int getSecureUserSetupComplete() { PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext); Loading @@ -431,6 +455,16 @@ public class PrivateSpaceMaintainerTest { privateSpaceMaintainer.getPrivateProfileHandle().getIdentifier()); } private int getSecureSkipFirstUseHints() { PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext); return Settings.Secure.getIntForUser( mContentResolver, Settings.Secure.SKIP_FIRST_USE_HINTS, 0, privateSpaceMaintainer.getPrivateProfileHandle().getIdentifier()); } private int getPsSensitiveNotificationsValue(PrivateSpaceMaintainer privateSpaceMaintainer) { return Settings.Secure.getIntForUser(mContentResolver, LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, Loading Loading
src/com/android/settings/privatespace/PrivateSpaceMaintainer.java +13 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE; import static android.provider.Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT; import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK; import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK_AFTER_DEVICE_RESTART; import static android.provider.Settings.Secure.SKIP_FIRST_USE_HINTS; import static android.provider.Settings.Secure.USER_SETUP_COMPLETE; import android.app.ActivityManager; Loading Loading @@ -122,6 +123,7 @@ public class PrivateSpaceMaintainer { Log.i(TAG, "Private space created with id: " + mUserHandle.getIdentifier()); resetPrivateSpaceSettings(); setUserSetupComplete(); setSkipFirstUseHints(); } return true; } Loading Loading @@ -350,6 +352,17 @@ public class PrivateSpaceMaintainer { 1, mUserHandle.getIdentifier()); } /** * Sets the SKIP_FIRST_USE_HINTS for private profile so that the first launch of an app in * private space will not display introductory hints. */ @GuardedBy("this") private void setSkipFirstUseHints() { Log.d(TAG, "setting SKIP_FIRST_USE_HINTS = 1 for private profile"); Settings.Secure.putIntForUser(mContext.getContentResolver(), SKIP_FIRST_USE_HINTS, 1, mUserHandle.getIdentifier()); } private boolean isPrivateSpaceAutoLockSupported() { return android.os.Flags.allowPrivateProfile() && android.multiuser.Flags.supportAutolockForPrivateSpace() Loading
tests/unit/src/com/android/settings/privatespace/PrivateSpaceMaintainerTest.java +34 −0 Original line number Diff line number Diff line Loading @@ -421,6 +421,30 @@ public class PrivateSpaceMaintainerTest { assertThat(privateSpaceMaintainer.isPrivateSpaceEntryPointEnabled()).isFalse(); } @Test public void createPrivateSpace_psDoesNotExist_setsSkipFirstUseHints() { mSetFlagsRule.enableFlags( android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES); assumeTrue(mContext.getSystemService(UserManager.class).canAddPrivateProfile()); PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext); privateSpaceMaintainer.createPrivateSpace(); assertThat(getSecureSkipFirstUseHints()).isEqualTo(1); } @Test public void createPrivateSpace_pSExists_doesNotChangeSkipFirstUseHints() { mSetFlagsRule.enableFlags( android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES); assumeTrue(mContext.getSystemService(UserManager.class).canAddPrivateProfile()); PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext); privateSpaceMaintainer.createPrivateSpace(); assertThat(getSecureSkipFirstUseHints()).isEqualTo(1); privateSpaceMaintainer.createPrivateSpace(); assertThat(getSecureSkipFirstUseHints()).isEqualTo(1); } private int getSecureUserSetupComplete() { PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext); Loading @@ -431,6 +455,16 @@ public class PrivateSpaceMaintainerTest { privateSpaceMaintainer.getPrivateProfileHandle().getIdentifier()); } private int getSecureSkipFirstUseHints() { PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext); return Settings.Secure.getIntForUser( mContentResolver, Settings.Secure.SKIP_FIRST_USE_HINTS, 0, privateSpaceMaintainer.getPrivateProfileHandle().getIdentifier()); } private int getPsSensitiveNotificationsValue(PrivateSpaceMaintainer privateSpaceMaintainer) { return Settings.Secure.getIntForUser(mContentResolver, LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, Loading