mirror of
https://github.com/bitwarden/android.git
synced 2024-12-25 10:28:28 +03:00
[PM-5900] Fix for Device Login push notifications cause the app to show HomePage (#2989)
* PM-5900 Fix for Device Login push notifications cause the app to show the HomePage * PM-5900 Added edge case scenario if intent / packageName / packageManager is null
This commit is contained in:
parent
c6aaf5002f
commit
1ae388cb03
1 changed files with 17 additions and 12 deletions
|
@ -79,7 +79,11 @@ namespace Bit.Droid.Services
|
|||
}
|
||||
|
||||
var context = Android.App.Application.Context;
|
||||
var intent = new Intent(context, typeof(MainActivity));
|
||||
var intent = context.PackageManager?.GetLaunchIntentForPackage(context.PackageName ?? string.Empty);
|
||||
|
||||
var builder = new NotificationCompat.Builder(context, Bit.Core.Constants.AndroidNotificationChannelId);
|
||||
if(intent != null && context.PackageManager != null && !string.IsNullOrEmpty(context.PackageName))
|
||||
{
|
||||
intent.PutExtra(Bit.Core.Constants.NotificationData, JsonConvert.SerializeObject(data));
|
||||
var pendingIntentFlags = AndroidHelpers.AddPendingIntentMutabilityFlag(PendingIntentFlags.UpdateCurrent, true);
|
||||
var pendingIntent = PendingIntent.GetActivity(context, 20220801, intent, pendingIntentFlags);
|
||||
|
@ -88,13 +92,14 @@ namespace Bit.Droid.Services
|
|||
deleteIntent.PutExtra(Bit.Core.Constants.NotificationData, JsonConvert.SerializeObject(data));
|
||||
var deletePendingIntent = PendingIntent.GetBroadcast(context, 20220802, deleteIntent, pendingIntentFlags);
|
||||
|
||||
var builder = new NotificationCompat.Builder(context, Bit.Core.Constants.AndroidNotificationChannelId)
|
||||
.SetContentIntent(pendingIntent)
|
||||
.SetContentTitle(title)
|
||||
builder.SetContentIntent(pendingIntent)
|
||||
.SetDeleteIntent(deletePendingIntent);
|
||||
}
|
||||
|
||||
builder.SetContentTitle(title)
|
||||
.SetContentText(message)
|
||||
.SetSmallIcon(Bit.Core.Resource.Drawable.ic_notification)
|
||||
.SetColor((int)Android.Graphics.Color.White)
|
||||
.SetDeleteIntent(deletePendingIntent)
|
||||
.SetAutoCancel(true);
|
||||
|
||||
if (data is PasswordlessNotificationData passwordlessNotificationData && passwordlessNotificationData.TimeoutInMinutes > 0)
|
||||
|
|
Loading…
Reference in a new issue