From 974f8f692c13ad123b87f45a1673bc0030d34864 Mon Sep 17 00:00:00 2001 From: Xiang Rong Lin <41164160+XiangRongLin@users.noreply.github.com> Date: Sun, 1 Nov 2020 18:13:41 +0100 Subject: [PATCH] Add option to not colorize notification --- .../java/org/schabi/newpipe/player/NotificationUtil.java | 5 ++++- .../newpipe/settings/NotificationSettingsFragment.kt | 9 +++++++++ app/src/main/res/values/settings_keys.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/notification_settings.xml | 7 +++++++ 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/NotificationUtil.java b/app/src/main/java/org/schabi/newpipe/player/NotificationUtil.java index 10fff5298..62f1d5dc2 100644 --- a/app/src/main/java/org/schabi/newpipe/player/NotificationUtil.java +++ b/app/src/main/java/org/schabi/newpipe/player/NotificationUtil.java @@ -120,7 +120,10 @@ public final class NotificationUtil { .setCategory(NotificationCompat.CATEGORY_TRANSPORT) .setShowWhen(false) .setSmallIcon(R.drawable.ic_newpipe_triangle_white) - .setColor(ContextCompat.getColor(player.context, R.color.gray)) + .setColor(ContextCompat.getColor(player.context, R.color.dark_background_color)) + .setColorized(player.sharedPreferences.getBoolean( + player.context.getString(R.string.notification_colorize_key), + true)) .setDeleteIntent(PendingIntent.getBroadcast(player.context, NOTIFICATION_ID, new Intent(ACTION_CLOSE), FLAG_UPDATE_CURRENT)); diff --git a/app/src/main/java/org/schabi/newpipe/settings/NotificationSettingsFragment.kt b/app/src/main/java/org/schabi/newpipe/settings/NotificationSettingsFragment.kt index 860968626..c68b699d3 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/NotificationSettingsFragment.kt +++ b/app/src/main/java/org/schabi/newpipe/settings/NotificationSettingsFragment.kt @@ -1,10 +1,19 @@ package org.schabi.newpipe.settings +import android.os.Build import android.os.Bundle +import androidx.preference.Preference import org.schabi.newpipe.R class NotificationSettingsFragment : BasePreferenceFragment() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.notification_settings) + + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + val colorizePref: Preference? = findPreference(getString(R.string.notification_colorize_key)) + colorizePref?.let { + preferenceScreen.removePreference(it) + } + } } } \ No newline at end of file diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index ba40ab931..c73d7d9de 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -132,6 +132,8 @@ <string name="notification_slot_compact_1_key" translatable="false">notification_slot_compact_1_key</string> <string name="notification_slot_compact_2_key" translatable="false">notification_slot_compact_2_key</string> + <string name="notification_colorize_key" translatable="false">notification_colorize_key</string> + <string name="video_mp4_key" translatable="false">video_mp4</string> <string name="video_webm_key" translatable="false">video_webm</string> <string name="video_3gp_key" translatable="false">video_3gp</string> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a2ab0d78e..e0aefc935 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -72,6 +72,8 @@ <string name="notification_action_shuffle">Shuffle</string> <string name="notification_action_buffering">Buffering</string> <string name="notification_action_nothing">Nothing</string> + <string name="notification_colorize_title">Colorize notification</string> + <string name="notification_colorize_summary">Have Android customize the notification\'s color according to the main color in the thumbnail (note that this is not available on all devices)</string> <string name="play_audio">Audio</string> <string name="default_audio_format_title">Default audio format</string> <string name="default_video_format_title">Default video format</string> diff --git a/app/src/main/res/xml/notification_settings.xml b/app/src/main/res/xml/notification_settings.xml index d9e45a41b..65d4af48a 100644 --- a/app/src/main/res/xml/notification_settings.xml +++ b/app/src/main/res/xml/notification_settings.xml @@ -10,6 +10,13 @@ android:title="@string/notification_scale_to_square_image_title" app:iconSpaceReserved="false" /> + <SwitchPreferenceCompat + android:defaultValue="true" + android:key="@string/notification_colorize_key" + android:summary="@string/notification_colorize_summary" + android:title="@string/notification_colorize_title" + app:iconSpaceReserved="false" /> + <PreferenceCategory android:layout="@layout/settings_category_header_layout" app:iconSpaceReserved="false">