Ignore face settings extras when called by an external package.
Bug: 411418366 Flag: EXEMPT bug fix Test: manual from any user not 0 (adb shell am start -a android.settings.FACE_SETTINGS --ei android.intent.extra.USER_ID 0) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:486947205e05e83314bd76e4822af442ca82be9c) Merged-In: I06193e421a140a90568251fc25baa7fc81c12d78 Change-Id: I06193e421a140a90568251fc25baa7fc81c12d78
This commit is contained in:
committed by
Cherrypicker Worker
parent
afcd445ef3
commit
0baf462586
@@ -95,8 +95,8 @@ public class FaceSettings extends DashboardFragment {
|
||||
private FaceManager mFaceManager;
|
||||
private DevicePolicyManager mDevicePolicyManager;
|
||||
private int mUserId;
|
||||
private int mSensorId;
|
||||
private long mChallenge;
|
||||
private int mSensorId = -1;
|
||||
private long mChallenge = 0;
|
||||
private byte[] mToken;
|
||||
private FaceSettingsAttentionPreferenceController mAttentionController;
|
||||
private FaceSettingsRemoveButtonPreferenceController mRemoveController;
|
||||
@@ -181,12 +181,19 @@ public class FaceSettings extends DashboardFragment {
|
||||
mUserManager = context.getSystemService(UserManager.class);
|
||||
mFaceManager = context.getSystemService(FaceManager.class);
|
||||
mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
|
||||
mToken = getIntent().getByteArrayExtra(KEY_TOKEN);
|
||||
mSensorId = getIntent().getIntExtra(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, -1);
|
||||
mChallenge = getIntent().getLongExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, 0L);
|
||||
|
||||
mUserId = getActivity().getIntent().getIntExtra(
|
||||
Intent.EXTRA_USER_ID, UserHandle.myUserId());
|
||||
final SettingsActivity activity = (SettingsActivity) requireActivity();
|
||||
final String callingPackage = activity.getInitialCallingPackage();
|
||||
if (callingPackage == null || !callingPackage.equals(activity.getPackageName())) {
|
||||
mUserId = UserHandle.myUserId();
|
||||
} else {
|
||||
// only allow these extras when called internally by Settings
|
||||
mToken = getIntent().getByteArrayExtra(KEY_TOKEN);
|
||||
mSensorId = getIntent().getIntExtra(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, -1);
|
||||
mChallenge = getIntent().getLongExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, 0L);
|
||||
mUserId = getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
|
||||
}
|
||||
|
||||
mFaceFeatureProvider = FeatureFactory.getFeatureFactory().getFaceFeatureProvider();
|
||||
|
||||
if (mUserManager.getUserInfo(mUserId).isManagedProfile()) {
|
||||
|
||||
Reference in New Issue
Block a user