1
0
mirror of https://github.com/bitwarden/mobile synced 2026-01-04 17:43:17 +00:00

switch from GCM to FCM

This commit is contained in:
Kyle Spearrin
2017-12-21 22:14:56 -05:00
parent 2b4ffaa357
commit 582e6ee322
12 changed files with 4875 additions and 4406 deletions

View File

@@ -26,7 +26,7 @@
<PackageReference Include="Xam.Plugin.Connectivity" Version="3.0.3" />
<PackageReference Include="Xam.Plugins.Settings" Version="3.1.1" />
<PackageReference Include="Xamarin.FFImageLoading.Forms" Version="2.2.9" />
<PackageReference Include="Xamarin.Forms" Version="2.4.0.91020" />
<PackageReference Include="Xamarin.Forms" Version="2.5.0.121934" />
<PackageReference Include="XLabs.IoC" Version="2.0.5782" />
<PackageReference Include="ZXing.Net.Mobile.Forms" Version="2.1.47" />
</ItemGroup>

View File

@@ -25,6 +25,8 @@
public const string PushInitialPromptShown = "push:initialPromptShown";
public const string PushLastRegistrationDate = "push:lastRegistrationDate";
public const string PushCurrentToken = "push:currentToken";
public const string PushRegisteredToken = "push:registeredToken";
public const string ExtensionStarted = "extension:started";
public const string ExtensionActivated = "extension:activated";

View File

@@ -6,6 +6,7 @@ using Bit.App.Models;
using Plugin.Settings.Abstractions;
using System;
using XLabs.Ioc;
using Xamarin.Forms;
namespace Bit.App.Services
{
@@ -52,13 +53,21 @@ namespace Bit.App.Services
return;
}
JToken dataToken;
if(!value.TryGetValue("data", StringComparison.OrdinalIgnoreCase, out dataToken) || dataToken == null)
PushNotificationDataPayload data = null;
if(deviceType == Device.Android)
{
return;
data = value.ToObject<PushNotificationDataPayload>();
}
else
{
if(!value.TryGetValue("data", StringComparison.OrdinalIgnoreCase, out JToken dataToken) ||
dataToken == null)
{
return;
}
data = dataToken.ToObject<PushNotificationDataPayload>();
}
var data = dataToken.ToObject<PushNotificationDataPayload>();
if(data?.Payload == null)
{
return;
@@ -159,6 +168,10 @@ namespace Bit.App.Services
{
Debug.WriteLine("Registered device with server.");
_settings.AddOrUpdateValue(Constants.PushLastRegistrationDate, DateTime.UtcNow);
if(deviceType == Device.Android)
{
_settings.AddOrUpdateValue(Constants.PushCurrentToken, token);
}
}
else
{