Update PIN switch keyboard button to be more straightforward.

Addresses #12866.
This commit is contained in:
Nicholas
2023-06-23 10:00:19 -04:00
committed by Nicholas Tinsley
parent 2dd0221680
commit 8ae115028e
13 changed files with 132 additions and 64 deletions

View File

@@ -1,5 +1,43 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@color/signal_icon_tint_primary" android:pathData="M20,4.5A1.538,1.538 0,0 1,21.5 6L21.5,17.5A1.538,1.538 0,0 1,20 19L4,19a1.538,1.538 0,0 1,-1.5 -1.5L2.5,6A1.538,1.538 0,0 1,4 4.5L20,4.5M20,3L4,3A2.946,2.946 0,0 0,1 6L1,17.5a2.946,2.946 0,0 0,3 3L20,20.5a2.946,2.946 0,0 0,3 -3L23,6A2.946,2.946 0,0 0,20 3ZM16.5,15h-9v2h9ZM7.5,12h0A1.538,1.538 0,0 0,6 10.5L6,10.5A1.538,1.538 0,0 0,4.5 12h0A1.538,1.538 0,0 0,6 13.5L6,13.5A1.538,1.538 0,0 0,7.5 12ZM11.5,12h0A1.538,1.538 0,0 0,10 10.5h0A1.538,1.538 0,0 0,8.5 12h0A1.538,1.538 0,0 0,10 13.5h0A1.538,1.538 0,0 0,11.5 12ZM15.5,12h0A1.538,1.538 0,0 0,14 10.5h0A1.538,1.538 0,0 0,12.5 12h0A1.538,1.538 0,0 0,14 13.5h0A1.538,1.538 0,0 0,15.5 12ZM19.5,12h0A1.538,1.538 0,0 0,18 10.5h0A1.538,1.538 0,0 0,16.5 12h0A1.538,1.538 0,0 0,18 13.5h0A1.538,1.538 0,0 0,19.5 12ZM7.5,8h0A1.538,1.538 0,0 0,6 6.5L6,6.5A1.538,1.538 0,0 0,4.5 8h0A1.538,1.538 0,0 0,6 9.5L6,9.5A1.538,1.538 0,0 0,7.5 8ZM11.5,8h0A1.538,1.538 0,0 0,10 6.5h0A1.538,1.538 0,0 0,8.5 8h0A1.538,1.538 0,0 0,10 9.5h0A1.538,1.538 0,0 0,11.5 8ZM15.5,8h0A1.538,1.538 0,0 0,14 6.5h0A1.538,1.538 0,0 0,12.5 8h0A1.538,1.538 0,0 0,14 9.5h0A1.538,1.538 0,0 0,15.5 8ZM19.5,8h0A1.538,1.538 0,0 0,18 6.5h0A1.538,1.538 0,0 0,16.5 8h0A1.538,1.538 0,0 0,18 9.5h0A1.538,1.538 0,0 0,19.5 8Z"/>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:pathData="M12,9.75C12.69,9.75 13.25,9.19 13.25,8.5C13.25,7.81 12.69,7.25 12,7.25C11.31,7.25 10.75,7.81 10.75,8.5C10.75,9.19 11.31,9.75 12,9.75Z" />
<path
android:fillColor="#000000"
android:pathData="M13.25,12C13.25,12.69 12.69,13.25 12,13.25C11.31,13.25 10.75,12.69 10.75,12C10.75,11.31 11.31,10.75 12,10.75C12.69,10.75 13.25,11.31 13.25,12Z" />
<path
android:fillColor="#000000"
android:pathData="M8.5,9.75C9.19,9.75 9.75,9.19 9.75,8.5C9.75,7.81 9.19,7.25 8.5,7.25C7.81,7.25 7.25,7.81 7.25,8.5C7.25,9.19 7.81,9.75 8.5,9.75Z" />
<path
android:fillColor="#000000"
android:pathData="M9.75,12C9.75,12.69 9.19,13.25 8.5,13.25C7.81,13.25 7.25,12.69 7.25,12C7.25,11.31 7.81,10.75 8.5,10.75C9.19,10.75 9.75,11.31 9.75,12Z" />
<path
android:fillColor="#000000"
android:pathData="M15.5,9.75C16.19,9.75 16.75,9.19 16.75,8.5C16.75,7.81 16.19,7.25 15.5,7.25C14.81,7.25 14.25,7.81 14.25,8.5C14.25,9.19 14.81,9.75 15.5,9.75Z" />
<path
android:fillColor="#000000"
android:pathData="M16.75,12C16.75,12.69 16.19,13.25 15.5,13.25C14.81,13.25 14.25,12.69 14.25,12C14.25,11.31 14.81,10.75 15.5,10.75C16.19,10.75 16.75,11.31 16.75,12Z" />
<path
android:fillColor="#000000"
android:pathData="M19,9.75C19.69,9.75 20.25,9.19 20.25,8.5C20.25,7.81 19.69,7.25 19,7.25C18.31,7.25 17.75,7.81 17.75,8.5C17.75,9.19 18.31,9.75 19,9.75Z" />
<path
android:fillColor="#000000"
android:pathData="M20.25,12C20.25,12.69 19.69,13.25 19,13.25C18.31,13.25 17.75,12.69 17.75,12C17.75,11.31 18.31,10.75 19,10.75C19.69,10.75 20.25,11.31 20.25,12Z" />
<path
android:fillColor="#000000"
android:pathData="M5,9.75C5.69,9.75 6.25,9.19 6.25,8.5C6.25,7.81 5.69,7.25 5,7.25C4.31,7.25 3.75,7.81 3.75,8.5C3.75,9.19 4.31,9.75 5,9.75Z" />
<path
android:fillColor="#000000"
android:pathData="M6.25,12C6.25,12.69 5.69,13.25 5,13.25C4.31,13.25 3.75,12.69 3.75,12C3.75,11.31 4.31,10.75 5,10.75C5.69,10.75 6.25,11.31 6.25,12Z" />
<path
android:fillColor="#000000"
android:pathData="M8.25,15C7.698,15 7.25,15.448 7.25,16C7.25,16.552 7.698,17 8.25,17H15.75C16.302,17 16.75,16.552 16.75,16C16.75,15.448 16.302,15 15.75,15H8.25Z" />
<path
android:fillColor="#000000"
android:fillType="evenOdd"
android:pathData="M17.737,3.625H6.263C5.454,3.625 4.794,3.625 4.258,3.669C3.704,3.714 3.206,3.811 2.741,4.047C2.012,4.419 1.419,5.012 1.047,5.741C0.811,6.206 0.714,6.704 0.669,7.258C0.625,7.794 0.625,8.454 0.625,9.263V14.737C0.625,15.546 0.625,16.206 0.669,16.742C0.714,17.296 0.811,17.794 1.047,18.259C1.419,18.988 2.012,19.581 2.741,19.953C3.206,20.19 3.704,20.286 4.258,20.331C4.794,20.375 5.454,20.375 6.263,20.375H17.737C18.546,20.375 19.206,20.375 19.742,20.331C20.296,20.286 20.794,20.19 21.259,19.953C21.988,19.581 22.581,18.988 22.953,18.259C23.19,17.794 23.286,17.296 23.331,16.742C23.375,16.206 23.375,15.546 23.375,14.737V9.263C23.375,8.454 23.375,7.794 23.331,7.258C23.286,6.704 23.19,6.206 22.953,5.741C22.581,5.012 21.988,4.419 21.259,4.047C20.794,3.811 20.296,3.714 19.742,3.669C19.206,3.625 18.546,3.625 17.737,3.625ZM3.535,5.607C3.712,5.516 3.955,5.449 4.401,5.413C4.857,5.376 5.445,5.375 6.3,5.375H17.7C18.555,5.375 19.143,5.376 19.599,5.413C20.045,5.449 20.288,5.516 20.465,5.607C20.865,5.81 21.19,6.135 21.393,6.535C21.484,6.712 21.551,6.955 21.587,7.401C21.624,7.857 21.625,8.445 21.625,9.3V14.7C21.625,15.554 21.624,16.143 21.587,16.599C21.551,17.045 21.484,17.288 21.393,17.465C21.19,17.865 20.865,18.19 20.465,18.393C20.288,18.484 20.045,18.551 19.599,18.587C19.143,18.624 18.555,18.625 17.7,18.625H6.3C5.445,18.625 4.857,18.624 4.401,18.587C3.955,18.551 3.712,18.484 3.535,18.393C3.135,18.19 2.81,17.865 2.607,17.465C2.516,17.288 2.449,17.045 2.413,16.599C2.376,16.143 2.375,15.554 2.375,14.7V9.3C2.375,8.445 2.376,7.857 2.413,7.401C2.449,6.955 2.516,6.712 2.607,6.535C2.81,6.135 3.135,5.81 3.535,5.607Z" />
</vector>

View File

@@ -1,5 +1,36 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@color/signal_icon_tint_primary" android:pathData="M8.5,4.75h0A1.8,1.8 0,0 0,6.75 3h0A1.8,1.8 0,0 0,5 4.75L5,4.75A1.8,1.8 0,0 0,6.75 6.5h0A1.8,1.8 0,0 0,8.5 4.75ZM13.75,4.75h0A1.8,1.8 0,0 0,12 3h0a1.8,1.8 0,0 0,-1.75 1.75h0A1.8,1.8 0,0 0,12 6.5h0A1.8,1.8 0,0 0,13.75 4.75ZM19,4.75h0A1.8,1.8 0,0 0,17.25 3h0A1.8,1.8 0,0 0,15.5 4.75h0A1.8,1.8 0,0 0,17.25 6.5h0A1.8,1.8 0,0 0,19 4.75ZM8.5,9.75h0A1.8,1.8 0,0 0,6.75 8h0A1.8,1.8 0,0 0,5 9.75L5,9.75A1.8,1.8 0,0 0,6.75 11.5h0A1.8,1.8 0,0 0,8.5 9.75ZM13.75,9.75h0A1.8,1.8 0,0 0,12 8h0a1.8,1.8 0,0 0,-1.75 1.75h0A1.8,1.8 0,0 0,12 11.5h0A1.8,1.8 0,0 0,13.75 9.75ZM19,9.75h0A1.8,1.8 0,0 0,17.25 8h0A1.8,1.8 0,0 0,15.5 9.75h0a1.8,1.8 0,0 0,1.75 1.75h0A1.8,1.8 0,0 0,19 9.75ZM8.5,14.75h0A1.8,1.8 0,0 0,6.75 13h0A1.8,1.8 0,0 0,5 14.75L5,14.75A1.8,1.8 0,0 0,6.75 16.5h0A1.8,1.8 0,0 0,8.5 14.75ZM13.75,14.75h0A1.8,1.8 0,0 0,12 13h0a1.8,1.8 0,0 0,-1.75 1.75h0A1.8,1.8 0,0 0,12 16.5h0A1.8,1.8 0,0 0,13.75 14.75ZM19,14.75h0A1.8,1.8 0,0 0,17.25 13h0a1.8,1.8 0,0 0,-1.75 1.75h0a1.8,1.8 0,0 0,1.75 1.75h0A1.8,1.8 0,0 0,19 14.75ZM13.75,19.75h0A1.8,1.8 0,0 0,12 18h0a1.8,1.8 0,0 0,-1.75 1.75h0A1.8,1.8 0,0 0,12 21.5h0A1.8,1.8 0,0 0,13.75 19.75Z"/>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:pathData="M8.375,4.75C8.375,5.647 7.647,6.375 6.75,6.375C5.853,6.375 5.125,5.647 5.125,4.75C5.125,3.853 5.853,3.125 6.75,3.125C7.647,3.125 8.375,3.853 8.375,4.75Z" />
<path
android:fillColor="#000000"
android:pathData="M12,6.375C12.898,6.375 13.625,5.647 13.625,4.75C13.625,3.853 12.898,3.125 12,3.125C11.102,3.125 10.375,3.853 10.375,4.75C10.375,5.647 11.102,6.375 12,6.375Z" />
<path
android:fillColor="#000000"
android:pathData="M17.25,6.375C18.147,6.375 18.875,5.647 18.875,4.75C18.875,3.853 18.147,3.125 17.25,3.125C16.353,3.125 15.625,3.853 15.625,4.75C15.625,5.647 16.353,6.375 17.25,6.375Z" />
<path
android:fillColor="#000000"
android:pathData="M12,21.375C12.898,21.375 13.625,20.647 13.625,19.75C13.625,18.853 12.898,18.125 12,18.125C11.102,18.125 10.375,18.853 10.375,19.75C10.375,20.647 11.102,21.375 12,21.375Z" />
<path
android:fillColor="#000000"
android:pathData="M13.625,14.75C13.625,15.648 12.898,16.375 12,16.375C11.102,16.375 10.375,15.648 10.375,14.75C10.375,13.852 11.102,13.125 12,13.125C12.898,13.125 13.625,13.852 13.625,14.75Z" />
<path
android:fillColor="#000000"
android:pathData="M17.25,16.375C18.147,16.375 18.875,15.648 18.875,14.75C18.875,13.852 18.147,13.125 17.25,13.125C16.353,13.125 15.625,13.852 15.625,14.75C15.625,15.648 16.353,16.375 17.25,16.375Z" />
<path
android:fillColor="#000000"
android:pathData="M8.375,14.75C8.375,15.648 7.647,16.375 6.75,16.375C5.853,16.375 5.125,15.648 5.125,14.75C5.125,13.852 5.853,13.125 6.75,13.125C7.647,13.125 8.375,13.852 8.375,14.75Z" />
<path
android:fillColor="#000000"
android:pathData="M12,11.375C12.898,11.375 13.625,10.648 13.625,9.75C13.625,8.853 12.898,8.125 12,8.125C11.102,8.125 10.375,8.853 10.375,9.75C10.375,10.648 11.102,11.375 12,11.375Z" />
<path
android:fillColor="#000000"
android:pathData="M18.875,9.75C18.875,10.648 18.147,11.375 17.25,11.375C16.353,11.375 15.625,10.648 15.625,9.75C15.625,8.853 16.353,8.125 17.25,8.125C18.147,8.125 18.875,8.853 18.875,9.75Z" />
<path
android:fillColor="#000000"
android:pathData="M6.75,11.375C7.647,11.375 8.375,10.648 8.375,9.75C8.375,8.853 7.647,8.125 6.75,8.125C5.853,8.125 5.125,8.853 5.125,9.75C5.125,10.648 5.853,11.375 6.75,11.375Z" />
</vector>

View File

@@ -102,6 +102,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:icon="@drawable/ic_keyboard_24"
app:iconGravity="textStart"
app:iconPadding="8dp"
app:layout_constraintBottom_toTopOf="@id/edit_kbs_pin_confirm"
app:layout_constraintTop_toBottomOf="@id/edit_kbs_pin_input_label"
app:layout_constraintVertical_bias="0.0"

View File

@@ -78,11 +78,14 @@
style="@style/Signal.Widget.Button.Large.Secondary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/RegistrationLockFragment__switch_keyboard"
app:icon="@drawable/ic_keyboard_24"
app:iconGravity="textStart"
app:iconPadding="8dp"
app:layout_constraintBottom_toTopOf="@id/kbs_lock_pin_confirm"
app:layout_constraintTop_toBottomOf="@id/kbs_lock_forgot_pin"
app:layout_constraintVertical_bias="0.0"
tools:layout_editor_absoluteX="32dp"
tools:text="Create Alphanumeric Pin" />
tools:layout_editor_absoluteX="32dp" />
<org.thoughtcrime.securesms.util.views.CircularProgressMaterialButton
android:id="@+id/kbs_lock_pin_confirm"

View File

@@ -52,7 +52,10 @@
style="@style/Signal.Widget.Button.Medium.Secondary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/PinRestoreEntryFragment_enter_alphanumeric_pin"
android:text="@string/RegistrationLockFragment__switch_keyboard"
app:icon="@drawable/ic_keyboard_24"
app:iconGravity="textStart"
app:iconPadding="8dp"
app:layout_constraintTop_toBottomOf="@+id/reminder_disable_pin"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

View File

@@ -97,10 +97,13 @@
style="@style/Signal.Widget.Button.Large.Secondary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/RegistrationLockFragment__switch_keyboard"
app:icon="@drawable/ic_keyboard_24"
app:iconGravity="textStart"
app:iconPadding="8dp"
app:layout_constraintTop_toBottomOf="@id/pin_restore_forgot_pin"
app:layout_constraintVertical_bias="0.0"
tools:layout_editor_absoluteX="32dp"
tools:text="Create Alphanumeric Pin" />
tools:layout_editor_absoluteX="32dp" />
<org.thoughtcrime.securesms.util.views.CircularProgressMaterialButton
android:id="@+id/pin_restore_pin_confirm"

View File

@@ -1629,8 +1629,8 @@
<item quantity="other">You have %1$d attempts remaining. If you run out of attempts, you can create a new PIN. You can register and use your account but you\'ll lose some saved settings like your profile information.</item>
</plurals>
<string name="PinRestoreEntryFragment_signal_registration_need_help_with_pin">Signal Registration - Need Help with PIN for Android</string>
<string name="PinRestoreEntryFragment_enter_alphanumeric_pin">Enter alphanumeric PIN</string>
<string name="PinRestoreEntryFragment_enter_numeric_pin">Enter numeric PIN</string>
<!-- Button label to prompt the user to switch between an alphanumeric and numeric-only keyboards -->
<string name="PinRestoreEntryFragment_switch_keyboard">Switch keyboard</string>
<!-- PinRestoreLockedFragment -->
<string name="PinRestoreLockedFragment_create_your_pin">Create your PIN</string>
@@ -3449,7 +3449,9 @@
<!-- BaseKbsPinFragment -->
<string name="BaseKbsPinFragment__next">Next</string>
<!-- Button label to prompt them to create a password ("PIN") using numbers and letters rather than only numbers. -->
<string name="BaseKbsPinFragment__create_alphanumeric_pin">Create alphanumeric PIN</string>
<!-- Button label to prompt them to return to creating a numbers-only password ("PIN") -->
<string name="BaseKbsPinFragment__create_numeric_pin">Create numeric PIN</string>
<string name="BaseKbsPinFragment__learn_more_url" translatable="false">https://support.signal.org/hc/articles/360007059792</string>
@@ -3511,8 +3513,8 @@
<string name="RegistrationLockFragment__enter_the_pin_you_created">Enter the PIN you created for your account. This is different from your SMS verification code.</string>
<!-- Info text shown above a pin entry text box describing what pin they should be entering. -->
<string name="RegistrationLockFragment__enter_the_pin_you_created_for_your_account">Enter the PIN you created for your account.</string>
<string name="RegistrationLockFragment__enter_alphanumeric_pin">Enter alphanumeric PIN</string>
<string name="RegistrationLockFragment__enter_numeric_pin">Enter numeric PIN</string>
<!-- Button label to prompt the user to switch between an alphanumeric and numeric-only keyboards -->
<string name="RegistrationLockFragment__switch_keyboard">Switch keyboard</string>
<string name="RegistrationLockFragment__incorrect_pin_try_again">Incorrect PIN. Try again.</string>
<string name="RegistrationLockFragment__forgot_pin">Forgot PIN?</string>
<string name="RegistrationLockFragment__incorrect_pin">Incorrect PIN</string>