Merge "Add check to verify if separate lock is setup for private space." into main

This commit is contained in:
Joseph Vincent
2024-01-22 11:47:35 +00:00
committed by Android (Google) Code Review

View File

@@ -26,7 +26,6 @@ import static com.android.settings.privatespace.PrivateSpaceSetupActivity.ACCOUN
import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE; import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE;
import static com.android.settings.privatespace.PrivateSpaceSetupActivity.SET_LOCK_ACTION; import static com.android.settings.privatespace.PrivateSpaceSetupActivity.SET_LOCK_ACTION;
import android.app.KeyguardManager;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
@@ -37,6 +36,7 @@ import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SetupWizardUtils; import com.android.settings.SetupWizardUtils;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
@@ -52,9 +52,10 @@ public class PrivateProfileContextHelperActivity extends FragmentActivity {
private final ActivityResultLauncher<Intent> mAddAccountToPrivateProfile = private final ActivityResultLauncher<Intent> mAddAccountToPrivateProfile =
registerForActivityResult( registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(), this::onAccountAdded); new ActivityResultContracts.StartActivityForResult(), this::onAccountAdded);
private final ActivityResultLauncher<Intent> mVerifyDeviceLock = private final ActivityResultLauncher<Intent> mSetNewPrivateProfileLock =
registerForActivityResult( registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(), this::onSetDeviceNewLock); new ActivityResultContracts.StartActivityForResult(),
this::onSetNewProfileLockActionCompleted);
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@@ -88,7 +89,7 @@ public class PrivateProfileContextHelperActivity extends FragmentActivity {
intent.putExtra( intent.putExtra(
EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION, EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION,
R.string.private_space_lock_setup_description); R.string.private_space_lock_setup_description);
mVerifyDeviceLock.launch(intent); mSetNewPrivateProfileLock.launch(intent);
} }
private void onAccountAdded(@Nullable ActivityResult result) { private void onAccountAdded(@Nullable ActivityResult result) {
@@ -102,10 +103,12 @@ public class PrivateProfileContextHelperActivity extends FragmentActivity {
finish(); finish();
} }
private void onSetDeviceNewLock(@Nullable ActivityResult result) { private void onSetNewProfileLockActionCompleted(@Nullable ActivityResult result) {
// TODO(b/307281644) : Verify this for biometrics and check result code after new LockPatternUtils lockPatternUtils =
// Authentication changes are merged. FeatureFactory.getFeatureFactory()
if (result != null && getSystemService(KeyguardManager.class).isDeviceSecure()) { .getSecurityFeatureProvider()
.getLockPatternUtils(this);
if (result != null && lockPatternUtils.isSeparateProfileChallengeEnabled(getUserId())) {
Log.i(TAG, "separate private space lock setup success"); Log.i(TAG, "separate private space lock setup success");
setResult(RESULT_OK); setResult(RESULT_OK);
} else { } else {