register android push on my vault page too

This commit is contained in:
Kyle Spearrin 2017-12-21 22:27:25 -05:00
parent 582e6ee322
commit c34376820a
2 changed files with 37 additions and 23 deletions

View file

@ -28,6 +28,10 @@ namespace Bit.Android.Services
{
_pushNotificationListener.OnRegistered(registeredToken, Device.Android);
}
else
{
_settings.AddOrUpdateValue(Constants.PushLastRegistrationDate, DateTime.UtcNow);
}
}
public void Unregister()

View file

@ -136,13 +136,17 @@ namespace Bit.App.Pages
_filterResultsCancellationTokenSource = FetchAndLoadVault();
if(_connectivity.IsConnected && Device.RuntimePlatform == Device.iOS)
// Push registration
if(_connectivity.IsConnected)
{
var lastPushRegistration = _settings.GetValueOrDefault(Constants.PushLastRegistrationDate,
DateTime.MinValue);
if(Device.RuntimePlatform == Device.iOS)
{
var pushPromptShow = _settings.GetValueOrDefault(Constants.PushInitialPromptShown, false);
Action registerAction = () =>
{
var lastPushRegistration =
_settings.GetValueOrDefault(Constants.PushLastRegistrationDate, DateTime.MinValue);
if(!pushPromptShow || DateTime.UtcNow - lastPushRegistration > TimeSpan.FromDays(1))
{
_pushNotification.Register();
@ -166,6 +170,12 @@ namespace Bit.App.Pages
registerAction();
}
}
else if(Device.RuntimePlatform == Device.Android &&
DateTime.UtcNow - lastPushRegistration > TimeSpan.FromDays(1))
{
_pushNotification.Register();
}
}
}
protected override void OnDisappearing()