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

Commit a5977896 authored by Bill Lin's avatar Bill Lin Committed by Automerger Merge Worker
Browse files

Merge changes from topics "disable_face_enroll_inSUW",...

Merge changes from topics "disable_face_enroll_inSUW", "tuscany_FaceEnrollFoldPage" into tm-qpr-dev am: 34d14426

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20673972



Change-Id: I1b5fc399539a8f6585588c90a8481e0a8c4d5463
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 516ef083 34d14426
Loading
Loading
Loading
Loading
+0 −0

Empty file added.

+13 −0
Original line number Diff line number Diff line
@@ -283,6 +283,19 @@
    <!-- ComponentName to launch a vendor-specific enrollment activity if available -->
    <string name="config_face_enroll" translatable="false"></string>

    <!-- ComponentName to launch a vendor-specific posture guidance activity if available -->
    <string name="config_face_enroll_guidance_page" translatable="false"></string>

    <!-- Whether to support posture listening for face auth, default is 0(DEVICE_POSTURE_UNKNOWN)
     means setting will try listening on device posture changes.
     0 : DEVICE_POSTURE_UNKNOWN
     1 : DEVICE_POSTURE_CLOSED
     2 : DEVICE_POSTURE_HALF_OPENED
     3 : DEVICE_POSTURE_OPENED
     4 : DEVICE_POSTURE_FLIPPED
     -->
    <integer name="config_face_enroll_supported_posture">0</integer>

    <!-- Whether to show the "less secure" info section on the face enroll intro screen -->
    <bool name="config_face_intro_show_less_secure">false</bool>

+3 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import androidx.window.embedding.SplitRule;
import com.android.settings.Settings;
import com.android.settings.SettingsActivity;
import com.android.settings.SubSettings;
import com.android.settings.biometrics.face.FaceEnrollIntroductionInternal;
import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling;
import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroductionInternal;
@@ -228,6 +229,8 @@ public class ActivityEmbeddingRulesController {
        addActivityFilter(activityFilters, FingerprintEnrollIntroduction.class);
        addActivityFilter(activityFilters, FingerprintEnrollIntroductionInternal.class);
        addActivityFilter(activityFilters, FingerprintEnrollEnrolling.class);
        addActivityFilter(activityFilters, FaceEnrollIntroductionInternal.class);
        addActivityFilter(activityFilters, Settings.FaceSettingsInternalActivity.class);
        addActivityFilter(activityFilters, AvatarPickerActivity.class);
        mSplitController.registerRule(new ActivityRule(activityFilters, true /* alwaysExpand */));
    }
+50 −8
Original line number Diff line number Diff line
@@ -38,7 +38,10 @@ import com.android.settings.SetupWizardUtils;
import com.android.settings.Utils;
import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling;
import com.android.settings.core.InstrumentedActivity;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.systemui.unfold.compat.ScreenSizeFoldProvider;
import com.android.systemui.unfold.updates.FoldProvider;

import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton;
@@ -60,8 +63,10 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity {
    public static final String EXTRA_KEY_SENSOR_ID = "sensor_id";
    public static final String EXTRA_KEY_CHALLENGE = "challenge";
    public static final String EXTRA_KEY_MODALITY = "sensor_modality";
    public static final String EXTRA_KEY_NEXT_LAUNCHED = "next_launched";
    public static final String EXTRA_FINISHED_ENROLL_FACE = "finished_enrolling_face";
    public static final String EXTRA_FINISHED_ENROLL_FINGERPRINT = "finished_enrolling_fingerprint";
    public static final String EXTRA_LAUNCHED_POSTURE_GUIDANCE = "launched_posture_guidance";

    /**
     * Used by the choose fingerprint wizard to indicate the wizard is
@@ -115,14 +120,25 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity {
     * example, when starting fingerprint enroll after face enroll.
     */
    public static final int ENROLL_NEXT_BIOMETRIC_REQUEST = 6;
    public static final int REQUEST_POSTURE_GUIDANCE = 7;

    protected boolean mLaunchedConfirmLock;
    protected boolean mLaunchedPostureGuidance;
    protected boolean mNextLaunched;
    protected byte[] mToken;
    protected int mUserId;
    protected int mSensorId;
    @BiometricUtils.DevicePostureInt
    protected int mDevicePostureState;
    protected long mChallenge;
    protected boolean mFromSettingsSummary;
    protected FooterBarMixin mFooterBarMixin;
    @Nullable
    protected ScreenSizeFoldProvider mScreenSizeFoldProvider;
    @Nullable
    protected Intent mPostureGuidanceIntent = null;
    @Nullable
    protected FoldProvider.FoldCallback mFoldCallback = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
@@ -139,7 +155,8 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity {
                    ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
        }
        mFromSettingsSummary = getIntent().getBooleanExtra(EXTRA_FROM_SETTINGS_SUMMARY, false);
        if (savedInstanceState != null && mToken == null) {
        if (savedInstanceState != null) {
            if (mToken == null) {
                mLaunchedConfirmLock = savedInstanceState.getBoolean(EXTRA_KEY_LAUNCHED_CONFIRM);
                mToken = savedInstanceState.getByteArray(
                        ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
@@ -148,7 +165,13 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity {
                mChallenge = savedInstanceState.getLong(EXTRA_KEY_CHALLENGE);
                mSensorId = savedInstanceState.getInt(EXTRA_KEY_SENSOR_ID);
            }
            mLaunchedPostureGuidance = savedInstanceState.getBoolean(
                    EXTRA_LAUNCHED_POSTURE_GUIDANCE);
            mNextLaunched = savedInstanceState.getBoolean(EXTRA_KEY_NEXT_LAUNCHED);
        }
        mUserId = getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
        mPostureGuidanceIntent = FeatureFactory.getFactory(getApplicationContext())
                .getFaceFeatureProvider().getPostureGuidanceIntent(getApplicationContext());
    }

    @Override
@@ -159,6 +182,8 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity {
        outState.putBoolean(EXTRA_FROM_SETTINGS_SUMMARY, mFromSettingsSummary);
        outState.putLong(EXTRA_KEY_CHALLENGE, mChallenge);
        outState.putInt(EXTRA_KEY_SENSOR_ID, mSensorId);
        outState.putBoolean(EXTRA_LAUNCHED_POSTURE_GUIDANCE, mLaunchedPostureGuidance);
        outState.putBoolean(EXTRA_KEY_NEXT_LAUNCHED, mNextLaunched);
    }

    @Override
@@ -184,6 +209,12 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity {
    @Override
    protected void onStop() {
        super.onStop();
        if (mScreenSizeFoldProvider != null && mFoldCallback != null) {
            mScreenSizeFoldProvider.unregisterCallback(mFoldCallback);
        }
        mScreenSizeFoldProvider = null;
        mFoldCallback = null;

        if (!isChangingConfigurations() && shouldFinishWhenBackgrounded()
                && !BiometricUtils.isAnyMultiBiometricFlow(this)) {
            setResult(RESULT_TIMEOUT);
@@ -191,6 +222,17 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity {
        }
    }

    protected boolean launchPostureGuidance() {
        if (mPostureGuidanceIntent == null || mLaunchedPostureGuidance) {
            return false;
        }
        BiometricUtils.copyMultiBiometricExtras(getIntent(), mPostureGuidanceIntent);
        startActivityForResult(mPostureGuidanceIntent, REQUEST_POSTURE_GUIDANCE);
        mLaunchedPostureGuidance = true;
        overridePendingTransition(0 /* no enter anim */, 0 /* no exit anim */);
        return mLaunchedPostureGuidance;
    }

    protected boolean shouldFinishWhenBackgrounded() {
        return !WizardManagerHelper.isAnySetupWizard(getIntent());
    }
+3 −0
Original line number Diff line number Diff line
@@ -155,6 +155,8 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
        if (savedInstanceState != null) {
            mConfirmingCredentials = savedInstanceState.getBoolean(KEY_CONFIRMING_CREDENTIALS);
            mHasScrolledToBottom = savedInstanceState.getBoolean(KEY_SCROLLED_TO_BOTTOM);
            mLaunchedPostureGuidance = savedInstanceState.getBoolean(
                    EXTRA_LAUNCHED_POSTURE_GUIDANCE);
        }

        Intent intent = getIntent();
@@ -273,6 +275,7 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
                finish();
            }
        }
        mNextLaunched = true;
    }

    private void launchChooseLock() {
Loading