From 6100160e189dc968eba1b8c9ee04ff1c471d76c5 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 15 Feb 2023 13:20:12 -0500 Subject: [PATCH] Address various issues with dark theme registration flow. --- app/src/main/AndroidManifest.xml | 2 +- .../registration/VerificationCodeView.kt | 2 ++ .../securesms/pin/PinRestoreActivity.java | 18 +++++----- .../RegistrationNavigationActivity.java | 12 +++++++ .../main/res/layout/base_kbs_pin_fragment.xml | 7 ++-- ...agment_registration_enter_phone_number.xml | 22 +++++-------- .../res/layout/fragment_transfer_restore.xml | 19 ++++++----- .../res/layout/pin_restore_entry_fragment.xml | 10 ++++-- .../res/layout/profile_create_fragment.xml | 18 ++++++---- .../res/layout/verification_code_view.xml | 33 +++++++++++-------- app/src/main/res/values/signal_styles.xml | 11 +++++++ app/src/main/res/values/styles.xml | 12 ------- 12 files changed, 96 insertions(+), 70 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 003b25ab3..563df5c59 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -464,7 +464,7 @@ diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/registration/VerificationCodeView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/registration/VerificationCodeView.kt index 3e449b677..789742cb5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/registration/VerificationCodeView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/registration/VerificationCodeView.kt @@ -43,12 +43,14 @@ class VerificationCodeView @JvmOverloads constructor(context: Context, attrs: At fun delete() { if (index <= 0) return containers[--index].editText?.setText("") + containers[index].editText?.requestFocus() } fun clear() { if (index != 0) { containers.forEach { it.editText?.setText("") } index = 0 + containers[index].editText?.requestFocus() } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreActivity.java b/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreActivity.java index ac709e455..15e0122d6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreActivity.java @@ -1,33 +1,35 @@ package org.thoughtcrime.securesms.pin; -import android.content.Context; import android.content.Intent; import android.os.Bundle; -import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.app.AppCompatDelegate; import org.thoughtcrime.securesms.MainActivity; import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.lock.v2.CreateKbsPinActivity; +import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; +import org.thoughtcrime.securesms.util.DynamicTheme; public final class PinRestoreActivity extends AppCompatActivity { - @Override - protected void attachBaseContext(@NonNull Context newBase) { - getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO); - super.attachBaseContext(newBase); - } + private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme(); @Override protected void onCreate(@Nullable Bundle savedInstanceState) { + dynamicTheme.onCreate(this); super.onCreate(savedInstanceState); setContentView(R.layout.pin_restore_activity); } + @Override + protected void onResume() { + super.onResume(); + dynamicTheme.onResume(this); + } + void navigateToPinCreation() { final Intent main = MainActivity.clearTop(this); final Intent createPin = CreateKbsPinActivity.getIntentForPinCreate(this); diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java index b359d6592..8794ab4d7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java @@ -14,6 +14,8 @@ import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.registration.viewmodel.RegistrationViewModel; import org.thoughtcrime.securesms.util.CommunicationActions; +import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; +import org.thoughtcrime.securesms.util.DynamicTheme; public final class RegistrationNavigationActivity extends AppCompatActivity { @@ -22,6 +24,8 @@ public final class RegistrationNavigationActivity extends AppCompatActivity { public static final String RE_REGISTRATION_EXTRA = "re_registration"; + private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme(); + private SmsRetrieverReceiver smsRetrieverReceiver; private RegistrationViewModel viewModel; @@ -44,6 +48,8 @@ public final class RegistrationNavigationActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { + dynamicTheme.onCreate(this); + super.onCreate(savedInstanceState); viewModel = new ViewModelProvider(this, new RegistrationViewModel.Factory(this, isReregister(getIntent()))).get(RegistrationViewModel.class); @@ -55,6 +61,12 @@ public final class RegistrationNavigationActivity extends AppCompatActivity { } } + @Override + protected void onResume() { + super.onResume(); + dynamicTheme.onResume(this); + } + @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); diff --git a/app/src/main/res/layout/base_kbs_pin_fragment.xml b/app/src/main/res/layout/base_kbs_pin_fragment.xml index 8bd397b79..fd6d07709 100644 --- a/app/src/main/res/layout/base_kbs_pin_fragment.xml +++ b/app/src/main/res/layout/base_kbs_pin_fragment.xml @@ -60,18 +60,17 @@ app:hintEnabled="false" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/edit_kbs_pin_description"> + app:layout_constraintTop_toBottomOf="@+id/edit_kbs_pin_description" + app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> diff --git a/app/src/main/res/layout/fragment_registration_enter_phone_number.xml b/app/src/main/res/layout/fragment_registration_enter_phone_number.xml index a5ff56bf6..a48420eea 100644 --- a/app/src/main/res/layout/fragment_registration_enter_phone_number.xml +++ b/app/src/main/res/layout/fragment_registration_enter_phone_number.xml @@ -37,6 +37,7 @@ style="@style/Widget.Signal.TextInputLayout.Registration.Dropdown" android:layout_width="wrap_content" android:layout_height="match_parent" + android:theme="@style/Signal.ThemeOverlay.TextInputLayout" app:errorEnabled="false" app:hintEnabled="false"> @@ -51,8 +52,6 @@ android:maxLines="1" android:padding="0dp" android:singleLine="true" - android:textColor="@color/signal_colorOnSurfaceVariant" - android:textColorHint="@color/signal_colorOnSurfaceVariant" tools:text="+1" /> @@ -63,14 +62,15 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:hint="@string/RegistrationActivity_phone_number_description"> + android:hint="@string/RegistrationActivity_phone_number_description" + app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> + android:inputType="phone"> @@ -101,7 +101,7 @@ android:layout_marginTop="16dp" android:layout_marginEnd="32dp" android:text="@string/RegistrationActivity_you_will_receive_a_verification_code" - android:textColor="@color/core_grey_60" + android:textColor="@color/signal_colorOnSurfaceVariant" app:layout_constraintTop_toBottomOf="@+id/verify_header" tools:layout_editor_absoluteX="0dp" /> @@ -113,13 +113,11 @@ android:layout_marginTop="16dp" android:layout_marginBottom="16dp" android:text="@android:string/cancel" - android:textColor="@color/core_grey_60" + android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/registerButton" - app:layout_constraintVertical_bias="0" /> + tools:visibility="visible" /> diff --git a/app/src/main/res/layout/fragment_transfer_restore.xml b/app/src/main/res/layout/fragment_transfer_restore.xml index a3e930640..5fd287457 100644 --- a/app/src/main/res/layout/fragment_transfer_restore.xml +++ b/app/src/main/res/layout/fragment_transfer_restore.xml @@ -1,11 +1,11 @@ + android:fillViewport="true" + tools:viewBindingIgnore="true"> + android:textAppearance="@style/Signal.Text.HeadlineMedium" /> + android:textAppearance="@style/Signal.Text.BodyLarge" + android:textColor="@color/signal_colorOnSurfaceVariant" /> + app:tint="@color/signal_colorPrimary" /> @@ -53,14 +53,18 @@ android:minWidth="210dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/pin_restore_pin_description"> + app:layout_constraintTop_toBottomOf="@+id/pin_restore_pin_description" + app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> + android:inputType="numberPassword" + tools:text="1234567890" /> + android:hint="@string/CreateProfileActivity_first_name_required" + android:theme="@style/Signal.ThemeOverlay.TextInputLayout"> + android:hint="@string/CreateProfileActivity_last_name_optional" + android:theme="@style/Signal.ThemeOverlay.TextInputLayout"> + app:layout_constraintTop_toTopOf="parent" + app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> + app:layout_constraintTop_toTopOf="parent" + app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> + app:layout_constraintTop_toTopOf="parent" + app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> + app:layout_constraintTop_toTopOf="parent" + app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> + app:layout_constraintTop_toTopOf="parent" + app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> + app:layout_constraintTop_toTopOf="parent" + app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> @@ -315,4 +317,13 @@ + + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index a330419de..4fa2d6f87 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -494,26 +494,14 @@ - - -