From dfa08d13562c77617329c91fcc167de41b5035c6 Mon Sep 17 00:00:00 2001 From: Alan Evans Date: Thu, 14 Nov 2019 13:51:01 -0500 Subject: [PATCH] In dark mode, use a dark theme base for RegistrationLockDialog and RationaleDialog. Fixes #8995 Closes #9077 --- res/values/themes.xml | 6 +++++- .../securesms/lock/RegistrationLockDialog.java | 11 ++++++----- .../securesms/permissions/RationaleDialog.java | 4 +++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/res/values/themes.xml b/res/values/themes.xml index 0bd1d8ed1f..15e71c2d96 100644 --- a/res/values/themes.xml +++ b/res/values/themes.xml @@ -585,7 +585,11 @@ @color/core_grey_85 - + + diff --git a/src/org/thoughtcrime/securesms/lock/RegistrationLockDialog.java b/src/org/thoughtcrime/securesms/lock/RegistrationLockDialog.java index ac5c45f6ca..a2d5df9e48 100644 --- a/src/org/thoughtcrime/securesms/lock/RegistrationLockDialog.java +++ b/src/org/thoughtcrime/securesms/lock/RegistrationLockDialog.java @@ -32,6 +32,7 @@ import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.SwitchPreferenceCompat; import org.thoughtcrime.securesms.util.ServiceUtil; import org.thoughtcrime.securesms.util.TextSecurePreferences; +import org.thoughtcrime.securesms.util.ThemeUtil; import org.whispersystems.libsignal.util.guava.Optional; import org.whispersystems.signalservice.api.SignalServiceAccountManager; @@ -45,11 +46,11 @@ public class RegistrationLockDialog { if (!RegistrationLockReminders.needsReminder(context)) return; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return; - AlertDialog dialog = new AlertDialog.Builder(context, R.style.RationaleDialog) - .setView(R.layout.registration_lock_reminder_view) - .setCancelable(true) - .setOnCancelListener(d -> RegistrationLockReminders.scheduleReminder(context, false)) - .create(); + AlertDialog dialog = new AlertDialog.Builder(context, ThemeUtil.isDarkTheme(context) ? R.style.RationaleDialogDark : R.style.RationaleDialogLight) + .setView(R.layout.registration_lock_reminder_view) + .setCancelable(true) + .setOnCancelListener(d -> RegistrationLockReminders.scheduleReminder(context, false)) + .create(); WindowManager windowManager = ServiceUtil.getWindowManager(context); Display display = windowManager.getDefaultDisplay(); diff --git a/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java b/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java index 271d2f2d90..dcd4e6a4da 100644 --- a/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java +++ b/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java @@ -19,6 +19,7 @@ import android.widget.LinearLayout.LayoutParams; import android.widget.TextView; import org.thoughtcrime.securesms.R; +import org.thoughtcrime.securesms.util.ThemeUtil; import org.thoughtcrime.securesms.util.ViewUtil; public class RationaleDialog { @@ -53,7 +54,8 @@ public class RationaleDialog { text.setText(message); - return new AlertDialog.Builder(context, R.style.RationaleDialog).setView(view); + return new AlertDialog.Builder(context, ThemeUtil.isDarkTheme(context) ? R.style.RationaleDialogDark : R.style.RationaleDialogLight) + .setView(view); } }