From b5f80da28ddf1170eaa089252f0eb242701bc868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bispo?= Date: Fri, 30 Sep 2022 14:47:03 +0100 Subject: [PATCH] [SG-696] Android notification icon blank (#2105) * [SG-696] Added new icon for android notifications. Changed notification intent flags to use helper. * [SG-696] PR fix. Min version was already 21. --- src/Android/Android.csproj | 4 ++++ src/Android/Resources/drawable/ic_notification.xml | 4 ++++ .../Services/AndroidPushNotificationService.cs | 11 ++++++++--- 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 src/Android/Resources/drawable/ic_notification.xml diff --git a/src/Android/Android.csproj b/src/Android/Android.csproj index af216e83f..78d51b5f7 100644 --- a/src/Android/Android.csproj +++ b/src/Android/Android.csproj @@ -217,6 +217,10 @@ + + + + diff --git a/src/Android/Resources/drawable/ic_notification.xml b/src/Android/Resources/drawable/ic_notification.xml new file mode 100644 index 000000000..ed92d0ce8 --- /dev/null +++ b/src/Android/Resources/drawable/ic_notification.xml @@ -0,0 +1,4 @@ + + + diff --git a/src/Android/Services/AndroidPushNotificationService.cs b/src/Android/Services/AndroidPushNotificationService.cs index b8088cb80..05602797c 100644 --- a/src/Android/Services/AndroidPushNotificationService.cs +++ b/src/Android/Services/AndroidPushNotificationService.cs @@ -3,10 +3,12 @@ using System; using System.Threading.Tasks; using Android.App; using Android.Content; +using Android.OS; using AndroidX.Core.App; using Bit.App.Abstractions; using Bit.Core; using Bit.Core.Abstractions; +using Bit.Droid.Utilities; using Xamarin.Forms; namespace Bit.Droid.Services @@ -71,15 +73,18 @@ namespace Bit.Droid.Services { throw new ArgumentNullException("notificationId cannot be null or empty."); } - + + var context = Android.App.Application.Context; var intent = new Intent(context, typeof(MainActivity)); - var pendingIntent = PendingIntent.GetActivity(context, 20220801, intent, PendingIntentFlags.UpdateCurrent); + var pendingIntentFlags = AndroidHelpers.AddPendingIntentMutabilityFlag(PendingIntentFlags.UpdateCurrent, true); + var pendingIntent = PendingIntent.GetActivity(context, 20220801, intent, pendingIntentFlags); var builder = new NotificationCompat.Builder(context, Constants.AndroidNotificationChannelId) .SetContentIntent(pendingIntent) .SetContentTitle(title) .SetContentText(message) - .SetSmallIcon(Resource.Mipmap.ic_launcher) + .SetSmallIcon(Resource.Drawable.ic_notification) + .SetColor((int)Android.Graphics.Color.White) .SetAutoCancel(true); var notificationManager = NotificationManagerCompat.From(context);