Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aba2077a authored by Joe Bolinger's avatar Joe Bolinger Committed by Android Build Coastguard Worker
Browse files

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)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c60b1ebd9456aaf1e6d7168b0c75d1850767bffe)
Merged-In: I06193e421a140a90568251fc25baa7fc81c12d78
Change-Id: I06193e421a140a90568251fc25baa7fc81c12d78
parent 1e442373
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -78,8 +78,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;
@@ -160,12 +160,19 @@ public class FaceSettings extends DashboardFragment {
        mUserManager = context.getSystemService(UserManager.class);
        mFaceManager = context.getSystemService(FaceManager.class);
        mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);

        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());
        }

        mUserId = getActivity().getIntent().getIntExtra(
                Intent.EXTRA_USER_ID, UserHandle.myUserId());
        mFaceFeatureProvider = FeatureFactory.getFeatureFactory().getFaceFeatureProvider();

        if (mUserManager.getUserInfo(mUserId).isManagedProfile()) {