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

Commit da738b2e authored by Steven Ng's avatar Steven Ng
Browse files

DO NOT MERGE Provide fingerprint options for SET_NEW_PASSWORD intent

Cherry-pick from ag/1444396

1) Added a trampoline activity to display SET_NEW_PASSWORD intent.
2) On devices that have fingerprint sensor and have no enrolled fingerprint,
   ChooseLockGeneric handles the SET_NEW_PASSWORD intent by providing
   fingerprint + {PIN/PATTERN/PASSWORD} and skip fingerprint options.

Test: See below
1) Auto
   make RunSettingsRoboTests
2) Manual
   a) Fingerprint + pattern
      i) $ adb shell am start -a android.app.action.SET_NEW_PASSWORD
      ii) Click Pixel Imprint + Pattern.
      iii) Set a pattern lock.
      iv) Can enroll a fingerprint.
   b) Pattern
      i) $ adb shell am start -a android.app.action.SET_NEW_PASSWORD
      ii) Click Continue without Pixel Imprint
      iii) A list of unlock options, without fingerprint option, is shown.
      vi) Select and enroll a pattern lock
   c) Has an existing password
      i) $ adb shell am start -a android.app.action.SET_NEW_PASSWORD
      ii) Setting app asks for password input.
      iii) Enter password and click "Continue without Pixel imprint".
      vi) No password is asked. A list of unlock options, without fingerprint option, is shown.
      v) Select and enroll a pattern lock
   d) Work profile
      i) Create a work profile
      ii) adb shell am start --user x -a android.app.action.SET_NEW_PASSWORD. X is the work profile user id.
      iii) Click Pixel Imprint + Pattern.
      iv) Set a pattern lock.
      v) Can enroll a fingerprint.

Bug: 23017051
Change-Id: I6384bbffb72a5d3a83972da7474532746e4d06b9
parent d76a3ed9
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1713,6 +1713,11 @@

        <activity android:name="ChooseLockGeneric"
            android:label="@string/lockpassword_choose_lock_generic_header"
            android:excludeFromRecents="true"
            android:exported="false" />

        <activity android:name=".password.SetNewPasswordActivity"
            android:theme="@android:style/Theme.NoDisplay"
            android:excludeFromRecents="true" >
            <intent-filter android:priority="1">
                <action android:name="android.app.action.SET_NEW_PASSWORD" />
+2 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
-->

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fingerprint_header_description"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
@@ -22,4 +23,4 @@
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
    android:text="@string/lock_settings_picker_fingerprint_message"
    android:textAppearance="@android:style/TextAppearance.Material.Subhead" />
    style="@style/FingerprintHeaderStyle" />
+6 −0
Original line number Diff line number Diff line
@@ -1083,6 +1083,12 @@
    <!-- Title for preference that guides the user through creating a backup unlock password for fingerprint [CHAR LIMIT=45]-->
    <string name="fingerprint_unlock_set_unlock_password">Fingerprint + Password</string>
    <!-- Title for preference that guides the user to skip fingerprint setup [CHAR LIMIT=60]-->
    <string name="fingerprint_unlock_skip_fingerprint">Continue without fingerprint</string>
    <!-- Message shown in screen lock picker while setting up the new screen lock with fingerprint option. [CHAR LIMIT=NONE]-->
    <string name="fingerprint_unlock_title">You can unlock your phone using your fingerprint. For security, this option requires a backup screen lock.</string>
    <!-- Summary for preference that has been disabled by because of the DevicePolicyAdmin, or because device encryption is enabled, or because there are credentials in the credential storage [CHAR LIMIT=50] -->
    <string name="unlock_set_unlock_disabled_summary">Disabled by administrator, encryption policy, or credential storage</string>
+6 −0
Original line number Diff line number Diff line
@@ -435,4 +435,10 @@
        <item name="android:paddingEnd">56dp</item>
    </style>

    <style name="FingerprintHeaderStyle" parent="android:style/TextAppearance.Material.Subhead">
        <item name="android:paddingTop">16dp</item>
        <item name="android:textColor">@color/primary_dark_material_light</item>
        <item name="android:lineSpacingMultiplier">1.2</item>
    </style>

</resources>
+5 −0
Original line number Diff line number Diff line
@@ -47,4 +47,9 @@
            android:key="unlock_set_managed"
            android:persistent="false"/>

    <com.android.settingslib.RestrictedPreference
            android:key="unlock_skip_fingerprint"
            android:title="@string/fingerprint_unlock_skip_fingerprint"
            android:persistent="false"/>

</PreferenceScreen>
Loading