Loading AndroidManifest.xml +6 −0 Original line number Diff line number Diff line Loading @@ -2830,6 +2830,12 @@ android:screenOrientation="portrait"/> <activity android:name=".biometrics.face.FaceEnrollIntroduction" android:exported="false" android:theme="@style/GlifV4Theme.DayNight" android:screenOrientation="nosensor"> </activity> <activity android:name=".biometrics.face.FaceEnroll" android:exported="true" android:theme="@style/GlifV4Theme.DayNight" android:screenOrientation="nosensor"> Loading src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java +6 −2 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ import com.android.settings.R; import com.android.settings.Settings; import com.android.settings.SettingsActivity; import com.android.settings.SubSettings; import com.android.settings.biometrics.face.FaceEnrollIntroduction; import com.android.settings.biometrics.face.FaceEnrollActivityClassProvider; import com.android.settings.biometrics.face.FaceEnrollIntroductionInternal; import com.android.settings.biometrics.fingerprint.FingerprintEnrollActivityClassProvider; import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling; Loading Loading @@ -254,6 +254,11 @@ public class ActivityEmbeddingRulesController { .buildSearchIntent(mContext, SettingsEnums.SETTINGS_HOMEPAGE); addActivityFilter(activityFilters, searchIntent); } final FaceEnrollActivityClassProvider faceClassProvider = FeatureFactory .getFeatureFactory() .getFaceFeatureProvider() .getEnrollActivityClassProvider(); addActivityFilter(activityFilters, faceClassProvider.getNext()); final FingerprintEnrollActivityClassProvider fpClassProvider = FeatureFactory .getFeatureFactory() .getFingerprintFeatureProvider() Loading @@ -263,7 +268,6 @@ public class ActivityEmbeddingRulesController { addActivityFilter(activityFilters, fpClassProvider.getAddAnother()); addActivityFilter(activityFilters, FingerprintEnrollEnrolling.class); addActivityFilter(activityFilters, FaceEnrollIntroductionInternal.class); addActivityFilter(activityFilters, FaceEnrollIntroduction.class); addActivityFilter(activityFilters, RemoteAuthActivity.class); addActivityFilter(activityFilters, RemoteAuthActivityInternal.class); addActivityFilter(activityFilters, ChooseLockPattern.class); Loading src/com/android/settings/biometrics/BiometricEnrollIntroduction.java +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase private boolean mParentalConsentRequired; private boolean mHasScrolledToBottom = false; @Nullable private PorterDuffColorFilter mIconColorFilter; @Nullable protected PorterDuffColorFilter mIconColorFilter; /** * @return true if the biometric is disabled by a device administrator Loading src/com/android/settings/biometrics/BiometricUtils.java +3 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.VerifyCredentialResponse; import com.android.settings.R; import com.android.settings.SetupWizardUtils; import com.android.settings.biometrics.face.FaceEnrollIntroduction; import com.android.settings.biometrics.fingerprint.FingerprintEnroll; import com.android.settings.biometrics.fingerprint.FingerprintEnrollFindSensor; import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollFindSensor; Loading Loading @@ -281,7 +280,9 @@ public class BiometricUtils { */ public static Intent getFaceIntroIntent(@NonNull Context context, @NonNull Intent activityIntent) { final Intent intent = new Intent(context, FaceEnrollIntroduction.class); final Intent intent = new Intent(context, FeatureFactory.getFeatureFactory().getFaceFeatureProvider() .getEnrollActivityClassProvider().getNext()); WizardManagerHelper.copyWizardManagerExtras(activityIntent, intent); return intent; } Loading src/com/android/settings/biometrics/face/FaceEnroll.kt 0 → 100644 +54 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.biometrics.face import android.content.Intent import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity import com.android.settings.overlay.FeatureFactory.Companion.featureFactory class FaceEnroll: AppCompatActivity() { /** * The class of the next activity to launch. This is open to allow subclasses to provide their * own behavior. Defaults to the default activity class provided by the * enrollActivityClassProvider. */ private val nextActivityClass: Class<*> get() = enrollActivityProvider.next private val enrollActivityProvider: FaceEnrollActivityClassProvider get() = featureFactory.faceFeatureProvider.enrollActivityClassProvider override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) /** * Logs the next activity to be launched, creates an intent for that activity, * adds flags to forward the result, includes any existing extras from the current intent, * starts the new activity and then finishes the current one */ Log.d("FaceEnroll", "forward to $nextActivityClass") val nextIntent = Intent(this, nextActivityClass) nextIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT) nextIntent.putExtras(intent) startActivity(nextIntent) finish() } } No newline at end of file Loading
AndroidManifest.xml +6 −0 Original line number Diff line number Diff line Loading @@ -2830,6 +2830,12 @@ android:screenOrientation="portrait"/> <activity android:name=".biometrics.face.FaceEnrollIntroduction" android:exported="false" android:theme="@style/GlifV4Theme.DayNight" android:screenOrientation="nosensor"> </activity> <activity android:name=".biometrics.face.FaceEnroll" android:exported="true" android:theme="@style/GlifV4Theme.DayNight" android:screenOrientation="nosensor"> Loading
src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java +6 −2 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ import com.android.settings.R; import com.android.settings.Settings; import com.android.settings.SettingsActivity; import com.android.settings.SubSettings; import com.android.settings.biometrics.face.FaceEnrollIntroduction; import com.android.settings.biometrics.face.FaceEnrollActivityClassProvider; import com.android.settings.biometrics.face.FaceEnrollIntroductionInternal; import com.android.settings.biometrics.fingerprint.FingerprintEnrollActivityClassProvider; import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling; Loading Loading @@ -254,6 +254,11 @@ public class ActivityEmbeddingRulesController { .buildSearchIntent(mContext, SettingsEnums.SETTINGS_HOMEPAGE); addActivityFilter(activityFilters, searchIntent); } final FaceEnrollActivityClassProvider faceClassProvider = FeatureFactory .getFeatureFactory() .getFaceFeatureProvider() .getEnrollActivityClassProvider(); addActivityFilter(activityFilters, faceClassProvider.getNext()); final FingerprintEnrollActivityClassProvider fpClassProvider = FeatureFactory .getFeatureFactory() .getFingerprintFeatureProvider() Loading @@ -263,7 +268,6 @@ public class ActivityEmbeddingRulesController { addActivityFilter(activityFilters, fpClassProvider.getAddAnother()); addActivityFilter(activityFilters, FingerprintEnrollEnrolling.class); addActivityFilter(activityFilters, FaceEnrollIntroductionInternal.class); addActivityFilter(activityFilters, FaceEnrollIntroduction.class); addActivityFilter(activityFilters, RemoteAuthActivity.class); addActivityFilter(activityFilters, RemoteAuthActivityInternal.class); addActivityFilter(activityFilters, ChooseLockPattern.class); Loading
src/com/android/settings/biometrics/BiometricEnrollIntroduction.java +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase private boolean mParentalConsentRequired; private boolean mHasScrolledToBottom = false; @Nullable private PorterDuffColorFilter mIconColorFilter; @Nullable protected PorterDuffColorFilter mIconColorFilter; /** * @return true if the biometric is disabled by a device administrator Loading
src/com/android/settings/biometrics/BiometricUtils.java +3 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.VerifyCredentialResponse; import com.android.settings.R; import com.android.settings.SetupWizardUtils; import com.android.settings.biometrics.face.FaceEnrollIntroduction; import com.android.settings.biometrics.fingerprint.FingerprintEnroll; import com.android.settings.biometrics.fingerprint.FingerprintEnrollFindSensor; import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollFindSensor; Loading Loading @@ -281,7 +280,9 @@ public class BiometricUtils { */ public static Intent getFaceIntroIntent(@NonNull Context context, @NonNull Intent activityIntent) { final Intent intent = new Intent(context, FaceEnrollIntroduction.class); final Intent intent = new Intent(context, FeatureFactory.getFeatureFactory().getFaceFeatureProvider() .getEnrollActivityClassProvider().getNext()); WizardManagerHelper.copyWizardManagerExtras(activityIntent, intent); return intent; } Loading
src/com/android/settings/biometrics/face/FaceEnroll.kt 0 → 100644 +54 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.biometrics.face import android.content.Intent import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity import com.android.settings.overlay.FeatureFactory.Companion.featureFactory class FaceEnroll: AppCompatActivity() { /** * The class of the next activity to launch. This is open to allow subclasses to provide their * own behavior. Defaults to the default activity class provided by the * enrollActivityClassProvider. */ private val nextActivityClass: Class<*> get() = enrollActivityProvider.next private val enrollActivityProvider: FaceEnrollActivityClassProvider get() = featureFactory.faceFeatureProvider.enrollActivityClassProvider override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) /** * Logs the next activity to be launched, creates an intent for that activity, * adds flags to forward the result, includes any existing extras from the current intent, * starts the new activity and then finishes the current one */ Log.d("FaceEnroll", "forward to $nextActivityClass") val nextIntent = Intent(this, nextActivityClass) nextIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT) nextIntent.putExtras(intent) startActivity(nextIntent) finish() } } No newline at end of file