1
0
mirror of https://github.com/bitwarden/mobile.git synced 2025-01-07 18:58:35 +01:00
bitwarden-mobile/src/Android/FirebaseMessagingService.cs

43 lines
1.1 KiB
C#
Raw Normal View History

2017-12-22 04:14:56 +01:00
using System;
using Android.App;
using Android.Content;
using Bit.App.Abstractions;
using Firebase.Messaging;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Xamarin.Forms;
using XLabs.Ioc;
namespace Bit.Android
{
[Service]
[IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
public class FirebaseMessagingService : Firebase.Messaging.FirebaseMessagingService
{
public override void OnMessageReceived(RemoteMessage message)
{
if(message?.Data == null)
{
return;
}
var data = message.Data.ContainsKey("data") ? message.Data["data"] : null;
if(data == null)
{
return;
}
try
{
var obj = JObject.Parse(data);
var listener = Resolver.Resolve<IPushNotificationListener>();
listener.OnMessage(obj, Device.Android);
}
catch(JsonReaderException ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
}
}
}
}