Merge "Set SKIP_FIRST_USE_HINTS setting for private space" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
02f1db61d8
@@ -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.HIDE_PRIVATESPACE_ENTRY_POINT;
|
||||||
import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK;
|
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.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 static android.provider.Settings.Secure.USER_SETUP_COMPLETE;
|
||||||
|
|
||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
@@ -122,6 +123,7 @@ public class PrivateSpaceMaintainer {
|
|||||||
Log.i(TAG, "Private space created with id: " + mUserHandle.getIdentifier());
|
Log.i(TAG, "Private space created with id: " + mUserHandle.getIdentifier());
|
||||||
resetPrivateSpaceSettings();
|
resetPrivateSpaceSettings();
|
||||||
setUserSetupComplete();
|
setUserSetupComplete();
|
||||||
|
setSkipFirstUseHints();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -350,6 +352,17 @@ public class PrivateSpaceMaintainer {
|
|||||||
1, mUserHandle.getIdentifier());
|
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() {
|
private boolean isPrivateSpaceAutoLockSupported() {
|
||||||
return android.os.Flags.allowPrivateProfile()
|
return android.os.Flags.allowPrivateProfile()
|
||||||
&& android.multiuser.Flags.supportAutolockForPrivateSpace()
|
&& android.multiuser.Flags.supportAutolockForPrivateSpace()
|
||||||
|
@@ -421,6 +421,30 @@ public class PrivateSpaceMaintainerTest {
|
|||||||
assertThat(privateSpaceMaintainer.isPrivateSpaceEntryPointEnabled()).isFalse();
|
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() {
|
private int getSecureUserSetupComplete() {
|
||||||
PrivateSpaceMaintainer privateSpaceMaintainer =
|
PrivateSpaceMaintainer privateSpaceMaintainer =
|
||||||
PrivateSpaceMaintainer.getInstance(mContext);
|
PrivateSpaceMaintainer.getInstance(mContext);
|
||||||
@@ -431,6 +455,16 @@ public class PrivateSpaceMaintainerTest {
|
|||||||
privateSpaceMaintainer.getPrivateProfileHandle().getIdentifier());
|
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) {
|
private int getPsSensitiveNotificationsValue(PrivateSpaceMaintainer privateSpaceMaintainer) {
|
||||||
return Settings.Secure.getIntForUser(mContentResolver,
|
return Settings.Secure.getIntForUser(mContentResolver,
|
||||||
LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
|
LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
|
||||||
|
Reference in New Issue
Block a user