diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3d056428c..ae8952a55 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -119,9 +119,6 @@
android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|screenSize|fontScale"
android:launchMode="singleTask"/>
-
-
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/captcha_activity.xml b/res/layout/captcha_activity.xml
deleted file mode 100644
index f6661eb64..000000000
--- a/res/layout/captcha_activity.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/res/layout/country_code_text.xml b/res/layout/country_code_text.xml
index f006d0849..5590ff7b1 100644
--- a/res/layout/country_code_text.xml
+++ b/res/layout/country_code_text.xml
@@ -15,7 +15,9 @@
android:layout_height="wrap_content"
android:layout_marginBottom="3dp"
android:src="@drawable/ic_add_white_original_24dp"
- android:tint="@color/core_grey_60"/>
+ android:tint="@color/core_grey_60"
+ android:contentDescription="+"
+ tools:ignore="HardcodedText" />
diff --git a/res/layout/country_list_item.xml b/res/layout/country_list_item.xml
index 3aff0de3f..c209a6886 100644
--- a/res/layout/country_list_item.xml
+++ b/res/layout/country_list_item.xml
@@ -1,28 +1,29 @@
+
-
+
-
-
-
+
-
diff --git a/res/layout/country_selection.xml b/res/layout/country_selection.xml
deleted file mode 100644
index 212333686..000000000
--- a/res/layout/country_selection.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/res/layout/enter_backup_passphrase_dialog.xml b/res/layout/enter_backup_passphrase_dialog.xml
index ffb016bd2..6297ed861 100644
--- a/res/layout/enter_backup_passphrase_dialog.xml
+++ b/res/layout/enter_backup_passphrase_dialog.xml
@@ -1,20 +1,24 @@
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="16dp">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ android:id="@+id/restore_passphrase_input"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:fontFamily="monospace"
+ android:hint="@string/enter_backup_passphrase_dialog__backup_passphrase"
+ android:imeOptions="actionDone"
+ android:inputType="number"
+ android:maxLength="30"
+ android:textSize="16sp" />
+
\ No newline at end of file
diff --git a/res/layout/fragment_registration_blank.xml b/res/layout/fragment_registration_blank.xml
new file mode 100644
index 000000000..af7599fad
--- /dev/null
+++ b/res/layout/fragment_registration_blank.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/fragment_registration_captcha.xml b/res/layout/fragment_registration_captcha.xml
new file mode 100644
index 000000000..b6d54b91a
--- /dev/null
+++ b/res/layout/fragment_registration_captcha.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/fragment_registration_country_picker.xml b/res/layout/fragment_registration_country_picker.xml
new file mode 100644
index 000000000..e17bae87f
--- /dev/null
+++ b/res/layout/fragment_registration_country_picker.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/fragment_registration_enter_code.xml b/res/layout/fragment_registration_enter_code.xml
new file mode 100644
index 000000000..3e86fbc52
--- /dev/null
+++ b/res/layout/fragment_registration_enter_code.xml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/fragment_registration_enter_phone_number.xml b/res/layout/fragment_registration_enter_phone_number.xml
new file mode 100644
index 000000000..d3d0efb08
--- /dev/null
+++ b/res/layout/fragment_registration_enter_phone_number.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/fragment_registration_lock.xml b/res/layout/fragment_registration_lock.xml
new file mode 100644
index 000000000..40c38173e
--- /dev/null
+++ b/res/layout/fragment_registration_lock.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/fragment_registration_restore_backup.xml b/res/layout/fragment_registration_restore_backup.xml
new file mode 100644
index 000000000..64241d53a
--- /dev/null
+++ b/res/layout/fragment_registration_restore_backup.xml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/registration_welcome_activity.xml b/res/layout/fragment_registration_welcome.xml
similarity index 69%
rename from res/layout/registration_welcome_activity.xml
rename to res/layout/fragment_registration_welcome.xml
index f3090bde9..3af1a4322 100644
--- a/res/layout/registration_welcome_activity.xml
+++ b/res/layout/fragment_registration_welcome.xml
@@ -1,29 +1,27 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/phone_text.xml b/res/layout/phone_text.xml
index ec2eb45ab..64991b50c 100644
--- a/res/layout/phone_text.xml
+++ b/res/layout/phone_text.xml
@@ -12,4 +12,6 @@
android:background="@color/transparent"
android:singleLine="true"
android:inputType="phone"
+ android:saveEnabled="false"
+ android:hint="@string/RegistrationActivity_phone_number_description"
tools:text="867-5309" />
diff --git a/res/layout/registration_activity.xml b/res/layout/registration_activity.xml
deleted file mode 100644
index 55078f568..000000000
--- a/res/layout/registration_activity.xml
+++ /dev/null
@@ -1,333 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/layout/verification_code_view.xml b/res/layout/verification_code_view.xml
index a496773e9..f6d316b04 100644
--- a/res/layout/verification_code_view.xml
+++ b/res/layout/verification_code_view.xml
@@ -1,135 +1,154 @@
-
+ android:layout_gravity="center"
+ android:layoutDirection="ltr">
-
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:background="@drawable/labeled_edit_text_background_inactive"
+ app:layout_constraintDimensionRatio="w,1:1"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+ android:layout_gravity="center"
+ android:textColor="@color/core_black"
+ android:textSize="28sp"
+ tools:text="0" />
-
+
-
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="4dp"
+ android:background="@drawable/labeled_edit_text_background_inactive"
+ app:layout_constraintDimensionRatio="w,1:1"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/container_zero"
+ app:layout_constraintTop_toTopOf="parent">
+ android:layout_gravity="center"
+ android:textColor="@color/core_black"
+ android:textSize="28sp"
+ tools:text="1" />
-
+
-
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="4dp"
+ android:background="@drawable/labeled_edit_text_background_inactive"
+ app:layout_constraintDimensionRatio="w,1:1"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/container_one"
+ app:layout_constraintTop_toTopOf="parent">
-
+
-
+ android:layout_marginStart="4dp"
+ android:text="-"
+ android:textColor="@color/core_black"
+ android:textSize="28sp"
+ app:layout_constraintStart_toEndOf="@+id/container_two"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:ignore="HardcodedText" />
-
-
-
-
-
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="4dp"
+ android:background="@drawable/labeled_edit_text_background_inactive"
+ app:layout_constraintDimensionRatio="w,1:1"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/separator"
+ app:layout_constraintTop_toTopOf="parent">
+ android:layout_gravity="center"
+ android:textColor="@color/core_black"
+ android:textSize="28sp"
+ tools:text="3" />
-
+
-
-
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="4dp"
+ android:background="@drawable/labeled_edit_text_background_inactive"
+ app:layout_constraintDimensionRatio="w,1:1"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/container_three"
+ app:layout_constraintTop_toTopOf="parent">
+ android:layout_gravity="center"
+ android:textColor="@color/core_black"
+ android:textSize="28sp"
+ tools:text="4" />
-
+
-
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="4dp"
+ android:background="@drawable/labeled_edit_text_background_inactive"
+ app:layout_constraintDimensionRatio="w,1:1"
+ app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintStart_toEndOf="@+id/container_four"
+ app:layout_constraintTop_toTopOf="parent">
+ android:layout_gravity="center"
+ android:textColor="@color/core_black"
+ android:textSize="28sp"
+ tools:text="5" />
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/res/navigation/registration.xml b/res/navigation/registration.xml
new file mode 100644
index 000000000..40a4d82fe
--- /dev/null
+++ b/res/navigation/registration.xml
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/values-sw360dp/registration_dimens.xml b/res/values-sw360dp/registration_dimens.xml
new file mode 100644
index 000000000..2719a8cf8
--- /dev/null
+++ b/res/values-sw360dp/registration_dimens.xml
@@ -0,0 +1,8 @@
+
+
+
+ 28sp
+ 16sp
+ 54dp
+
+
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 2cfab0283..4e1bdfbd6 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -315,15 +315,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/res/values/registration_dimens.xml b/res/values/registration_dimens.xml
new file mode 100644
index 000000000..a112eab73
--- /dev/null
+++ b/res/values/registration_dimens.xml
@@ -0,0 +1,8 @@
+
+
+
+ 18sp
+ 12sp
+ 32dp
+
+
diff --git a/res/values/registration_styles.xml b/res/values/registration_styles.xml
new file mode 100644
index 000000000..aa682cb6d
--- /dev/null
+++ b/res/values/registration_styles.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7c7aedc63..190176fc4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -669,6 +669,9 @@
Enter your phone number to get started
You will receive a verification code. Carrier rates may apply.
Enter the code we sent to %s
+
+ Phone number
+ Country code
Call
@@ -1581,6 +1584,10 @@
Please enter the verification code sent to %s.
Wrong number
Call me instead \n (Available in %1$02d:%2$02d)
+ Contact Signal Support
+ support@signal.org
+ Signal Registration - Verification Code for Android
+ Subject: Signal Registration - Verification Code for Android\nDevice info: %1$s\nAndroid version: %2$s\nSignal version: %3$s\nLocale: %4$s
Never
Unknown
Screen lock
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 127d8534f..1a6d83f8f 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -248,10 +248,6 @@
- @color/signal_primary
-
-
diff --git a/res/values/text_styles.xml b/res/values/text_styles.xml
index 17121eb0e..bf7f3f668 100644
--- a/res/values/text_styles.xml
+++ b/res/values/text_styles.xml
@@ -1,5 +1,6 @@
+
-
-