From 48132e2dbb968ebe2a86ceeeef05aee1f96a4cd2 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Wed, 20 Apr 2022 09:12:34 -0500 Subject: [PATCH] Use theme colour for notifications --- .../eu/siacs/conversations/services/NotificationService.java | 5 ++++- .../siacs/conversations/services/XmppConnectionService.java | 2 ++ .../java/eu/siacs/conversations/ui/SettingsActivity.java | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/eu/siacs/conversations/services/NotificationService.java b/src/main/java/eu/siacs/conversations/services/NotificationService.java index 6ea28d5f9..a4b15f957 100644 --- a/src/main/java/eu/siacs/conversations/services/NotificationService.java +++ b/src/main/java/eu/siacs/conversations/services/NotificationService.java @@ -28,6 +28,7 @@ import android.text.SpannableString; import android.text.style.StyleSpan; import android.util.DisplayMetrics; import android.util.Log; +import android.util.TypedValue; import androidx.annotation.RequiresApi; import androidx.core.app.NotificationCompat; @@ -750,7 +751,9 @@ public class NotificationService { } private void setNotificationColor(final Builder mBuilder) { - mBuilder.setColor(ContextCompat.getColor(mXmppConnectionService, R.color.perpy)); + TypedValue typedValue = new TypedValue(); + mXmppConnectionService.getTheme().resolveAttribute(R.attr.colorPrimary, typedValue, true); + mBuilder.setColor(typedValue.data); } public void updateNotification() { diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index dc644833a..647e8199b 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -137,6 +137,7 @@ import eu.siacs.conversations.utils.Resolver; import eu.siacs.conversations.utils.SerialSingleThreadExecutor; import eu.siacs.conversations.utils.StringUtils; import eu.siacs.conversations.utils.TorServiceUtils; +import eu.siacs.conversations.utils.ThemeHelper; import eu.siacs.conversations.utils.WakeLockHelper; import eu.siacs.conversations.utils.XmppUri; import eu.siacs.conversations.xml.Element; @@ -1133,6 +1134,7 @@ public class XmppConnectionService extends Service { @SuppressLint("TrulyRandom") @Override public void onCreate() { + setTheme(ThemeHelper.find(this)); if (Compatibility.runsTwentySix()) { mNotificationService.initializeChannels(); } diff --git a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java index 7073b881d..54276032b 100644 --- a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java @@ -394,6 +394,7 @@ public class SettingsActivity extends XmppActivity implements } else if (name.equals(THEME)) { final int theme = findTheme(); if (this.mTheme != theme) { + xmppConnectionService.setTheme(theme); recreate(); } } else if(name.equals(PREVENT_SCREENSHOTS)){