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

Commit 0b7d4674 authored by josephpv's avatar josephpv Committed by Joseph Vincent
Browse files

Add Biometrics settings inside private space One Lock settings

This includes below changes:
- Add Biometrics preferernce in Private Space One Lock settings page
- Face and Fingerprint enrolment for Private profile
- Feature is behind flag android.multiuser.enable_biometrics_to_unlock_private_space

Screenshots:
go/ss/9cWZRAuvGGW7gMm.png
go/ss/B3NoFbL3KbpSzeN.png
go/ss/7xH3DLi9d6Lu2mR.png
go/ss/8WBEgKychWpduXg.png
go/ss/8pmPGshd9aiPvVC.png
go/ss/AFPBPbiaBBvTj3p.png
go/ss/3fE4XKLLUdP8LmF.png

Bug: 308862923
Test: atest CombinedBiometricStatusUtilsTest, atest FaceFingerprintUnlockControllerTest
Change-Id: I1853107a4df4fc97db53c97524c6d44a4f554e37
parent a123021e
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -719,6 +719,13 @@
                       android:value="@string/menu_key_security"/>
        </activity>

        <activity android:name=".Settings$PrivateSpaceBiometricSettingsActivity"
                  android:label="@string/private_space_biometric_title"
                  android:exported="false">
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.privatespace.onelock.PrivateSpaceBiometricSettings" />
        </activity>

        <activity android:name=".bluetooth.DevicePickerActivity"
                android:label="@string/device_picker"
                android:configChanges="orientation|keyboardHidden|screenSize"
+6 −0
Original line number Diff line number Diff line
@@ -1220,6 +1220,12 @@
    <string name="private_space_biometric_title">Face &amp; Fingerprint Unlock</string>
    <!-- Summary for the Face and Fingerprint preference when no biometric is set. [CHAR LIMIT=60] -->
    <string name="private_space_biometric_summary">Tap to set up</string>
    <!-- Title for the Fingerprint unlock for private space preference. [CHAR LIMIT=60] -->
    <string name="private_space_fingerprint_unlock_title">Fingerprint Unlock for Private Space</string>
    <!-- Title for the Face unlock for private space preference. [CHAR LIMIT=60] -->
    <string name="private_space_face_unlock_title">Face Unlock for Private Space</string>
    <!-- Biometric category title - biometric options for unlocking the device. [CHAR LIMIT=50] -->
    <string name="private_space_category_ways_to_unlock">Ways to unlock</string>
    <!-- Summary for one lock when device screen lock is used as private profile lock. [CHAR LIMIT=60] -->
    <string name="private_space_screen_lock_summary">Same as device screen lock</string>
    <!-- Dialog message to choose a new lock for Private Space. [CHAR LIMIT=50] -->
+47 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2023 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.
  -->
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:title="@string/private_space_biometric_title"
    settings:searchable="false">

    <com.android.settingslib.widget.TopIntroPreference
        android:title="@string/biometric_settings_intro"
        settings:searchable="false" />

    <PreferenceCategory
        android:key="biometric_ways_to_unlock"
        android:title="@string/private_space_category_ways_to_unlock"
        settings:searchable="false">

        <com.android.settingslib.RestrictedPreference
            android:key="private_space_fingerprint_unlock_settings"
            android:title="@string/private_space_fingerprint_unlock_title"
            android:summary="@string/summary_placeholder"
            settings:controller="com.android.settings.privatespace.onelock.PrivateSpaceFingerprintPreferenceController"
            settings:searchable="false" />

        <com.android.settingslib.RestrictedPreference
            android:key="private_space_face_unlock_settings"
            android:title="@string/private_space_face_unlock_title"
            android:summary="@string/summary_placeholder"
            settings:controller="com.android.settings.privatespace.onelock.PrivateSpaceFacePreferenceController"
            settings:searchable="false" />

    </PreferenceCategory>
</PreferenceScreen>
 No newline at end of file
+3 −3
Original line number Diff line number Diff line
@@ -34,11 +34,11 @@
        android:summary="@string/unlock_set_unlock_mode_pattern"
        settings:searchable="false" />

    <Preference
    <com.android.settingslib.RestrictedPreference
        android:key="private_space_biometrics"
        android:title="@string/private_space_biometric_title"
        android:summary="@string/private_space_biometric_summary"
        android:fragment="com.android.settings.privatespace.onelock.FaceFingerprintUnlockFragment"
        android:summary="@string/summary_placeholder"
        android:fragment="com.android.settings.privatespace.onelock.PrivateSpaceBiometricSettings"
        settings:searchable="false" />

</PreferenceScreen>
+3 −1
Original line number Diff line number Diff line
@@ -57,7 +57,9 @@ public class Settings extends SettingsActivity {
    public static class CombinedBiometricProfileSettingsActivity extends SettingsActivity { /* empty */ }
    public static class TetherSettingsActivity extends SettingsActivity { /* empty */ }
    public static class WifiTetherSettingsActivity extends SettingsActivity { /* empty */ }

    public static class PrivateSpaceBiometricSettingsActivity extends SettingsActivity {
        /* empty */
    }
    public static class VpnSettingsActivity extends SettingsActivity { /* empty */ }
    /** Activity for Data saver settings. */
    public static class DataSaverSummaryActivity extends SettingsActivity { /* empty */ }
Loading