mirror of
https://github.com/bitwarden/android.git
synced 2024-12-25 18:38:27 +03:00
Cleared Console.WriteLine for iOS push notifications issue (#1739)
This commit is contained in:
parent
c0c893fd59
commit
d0ffb108b1
4 changed files with 23 additions and 33 deletions
|
@ -30,7 +30,7 @@ namespace Bit.App.Services
|
||||||
|
|
||||||
public async Task OnMessageAsync(JObject value, string deviceType)
|
public async Task OnMessageAsync(JObject value, string deviceType)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} OnMessageAsync called");
|
Debug.WriteLine($"{TAG} OnMessageAsync called");
|
||||||
|
|
||||||
Resolve();
|
Resolve();
|
||||||
if (value == null)
|
if (value == null)
|
||||||
|
@ -39,7 +39,7 @@ namespace Bit.App.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
_showNotification = false;
|
_showNotification = false;
|
||||||
Console.WriteLine($"{TAG} Message Arrived: {JsonConvert.SerializeObject(value)}");
|
Debug.WriteLine($"{TAG} Message Arrived: {JsonConvert.SerializeObject(value)}");
|
||||||
|
|
||||||
NotificationResponse notification = null;
|
NotificationResponse notification = null;
|
||||||
if (deviceType == Device.Android)
|
if (deviceType == Device.Android)
|
||||||
|
@ -56,7 +56,7 @@ namespace Bit.App.Services
|
||||||
notification = dataToken.ToObject<NotificationResponse>();
|
notification = dataToken.ToObject<NotificationResponse>();
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLine($"{TAG} - Notification object created: t:{notification?.Type} - p:{notification?.Payload}");
|
Debug.WriteLine($"{TAG} - Notification object created: t:{notification?.Type} - p:{notification?.Payload}");
|
||||||
|
|
||||||
var appId = await _appIdService.GetAppIdAsync();
|
var appId = await _appIdService.GetAppIdAsync();
|
||||||
if (notification?.Payload == null || notification.ContextId == appId)
|
if (notification?.Payload == null || notification.ContextId == appId)
|
||||||
|
@ -134,23 +134,24 @@ namespace Bit.App.Services
|
||||||
public async Task OnRegisteredAsync(string token, string deviceType)
|
public async Task OnRegisteredAsync(string token, string deviceType)
|
||||||
{
|
{
|
||||||
Resolve();
|
Resolve();
|
||||||
Console.WriteLine($"{TAG} - Device Registered - Token : {token}");
|
Debug.WriteLine($"{TAG} - Device Registered - Token : {token}");
|
||||||
var isAuthenticated = await _userService.IsAuthenticatedAsync();
|
var isAuthenticated = await _userService.IsAuthenticatedAsync();
|
||||||
if (!isAuthenticated)
|
if (!isAuthenticated)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} - not auth");
|
Debug.WriteLine($"{TAG} - not auth");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var appId = await _appIdService.GetAppIdAsync();
|
var appId = await _appIdService.GetAppIdAsync();
|
||||||
Console.WriteLine($"{TAG} - app id: {appId}");
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await _storageService.RemoveAsync(Constants.PushInstallationRegistrationError);
|
await _storageService.RemoveAsync(Constants.PushInstallationRegistrationError);
|
||||||
|
|
||||||
await _apiService.PutDeviceTokenAsync(appId,
|
await _apiService.PutDeviceTokenAsync(appId,
|
||||||
new Core.Models.Request.DeviceTokenRequest { PushToken = token });
|
new Core.Models.Request.DeviceTokenRequest { PushToken = token });
|
||||||
Console.WriteLine($"{TAG} Registered device with server.");
|
|
||||||
|
Debug.WriteLine($"{TAG} Registered device with server.");
|
||||||
|
|
||||||
await _storageService.SaveAsync(Constants.PushLastRegistrationDateKey, DateTime.UtcNow);
|
await _storageService.SaveAsync(Constants.PushLastRegistrationDateKey, DateTime.UtcNow);
|
||||||
if (deviceType == Device.Android)
|
if (deviceType == Device.Android)
|
||||||
{
|
{
|
||||||
|
@ -159,7 +160,7 @@ namespace Bit.App.Services
|
||||||
}
|
}
|
||||||
catch (ApiException apiEx)
|
catch (ApiException apiEx)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} Failed to register device.");
|
Debug.WriteLine($"{TAG} Failed to register device.");
|
||||||
|
|
||||||
await _storageService.SaveAsync(Constants.PushInstallationRegistrationError, apiEx.Error?.Message);
|
await _storageService.SaveAsync(Constants.PushInstallationRegistrationError, apiEx.Error?.Message);
|
||||||
}
|
}
|
||||||
|
@ -172,12 +173,12 @@ namespace Bit.App.Services
|
||||||
|
|
||||||
public void OnUnregistered(string deviceType)
|
public void OnUnregistered(string deviceType)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} - Device Unnregistered");
|
Debug.WriteLine($"{TAG} - Device Unnregistered");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnError(string message, string deviceType)
|
public void OnError(string message, string deviceType)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} error - {message}");
|
Debug.WriteLine($"{TAG} error - {message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ShouldShowNotification()
|
public bool ShouldShowNotification()
|
||||||
|
|
|
@ -251,36 +251,30 @@ namespace Bit.iOS
|
||||||
return base.ContinueUserActivity(application, userActivity, completionHandler);
|
return base.ContinueUserActivity(application, userActivity, completionHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
const string TAG = "##PUSH NOTIFICATIONS";
|
|
||||||
public override void FailedToRegisterForRemoteNotifications(UIApplication application, NSError error)
|
public override void FailedToRegisterForRemoteNotifications(UIApplication application, NSError error)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} FailedToRegisterForRemoteNotifications");
|
|
||||||
_pushHandler?.OnErrorReceived(error);
|
_pushHandler?.OnErrorReceived(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
|
public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} RegisteredForRemoteNotifications");
|
|
||||||
_pushHandler?.OnRegisteredSuccess(deviceToken);
|
_pushHandler?.OnRegisteredSuccess(deviceToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void DidRegisterUserNotificationSettings(UIApplication application,
|
public override void DidRegisterUserNotificationSettings(UIApplication application,
|
||||||
UIUserNotificationSettings notificationSettings)
|
UIUserNotificationSettings notificationSettings)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} DidRegisterUserNotificationSettings");
|
|
||||||
application.RegisterForRemoteNotifications();
|
application.RegisterForRemoteNotifications();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo,
|
public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo,
|
||||||
Action<UIBackgroundFetchResult> completionHandler)
|
Action<UIBackgroundFetchResult> completionHandler)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} DidReceiveRemoteNotification");
|
|
||||||
_pushHandler?.OnMessageReceived(userInfo);
|
_pushHandler?.OnMessageReceived(userInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo)
|
public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} ReceivedRemoteNotification");
|
|
||||||
_pushHandler?.OnMessageReceived(userInfo);
|
_pushHandler?.OnMessageReceived(userInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -321,8 +315,6 @@ namespace Bit.iOS
|
||||||
|
|
||||||
private void RegisterPush()
|
private void RegisterPush()
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} RegisterPush");
|
|
||||||
|
|
||||||
var notificationListenerService = new PushNotificationListenerService();
|
var notificationListenerService = new PushNotificationListenerService();
|
||||||
ServiceContainer.Register<IPushNotificationListenerService>(
|
ServiceContainer.Register<IPushNotificationListenerService>(
|
||||||
"pushNotificationListenerService", notificationListenerService);
|
"pushNotificationListenerService", notificationListenerService);
|
||||||
|
|
|
@ -12,8 +12,6 @@ namespace Bit.iOS.Services
|
||||||
public class iOSPushNotificationHandler : NSObject, IUNUserNotificationCenterDelegate
|
public class iOSPushNotificationHandler : NSObject, IUNUserNotificationCenterDelegate
|
||||||
{
|
{
|
||||||
private const string TokenSetting = "token";
|
private const string TokenSetting = "token";
|
||||||
//private const string DomainName = "iOSPushNotificationService";
|
|
||||||
|
|
||||||
const string TAG = "##PUSH NOTIFICATIONS";
|
const string TAG = "##PUSH NOTIFICATIONS";
|
||||||
|
|
||||||
private readonly IPushNotificationListenerService _pushNotificationListenerService;
|
private readonly IPushNotificationListenerService _pushNotificationListenerService;
|
||||||
|
@ -28,7 +26,7 @@ namespace Bit.iOS.Services
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} - OnMessageReceived.");
|
Debug.WriteLine($"{TAG} - OnMessageReceived.");
|
||||||
|
|
||||||
var json = DictionaryToJson(userInfo);
|
var json = DictionaryToJson(userInfo);
|
||||||
var values = JObject.Parse(json);
|
var values = JObject.Parse(json);
|
||||||
|
@ -53,19 +51,19 @@ namespace Bit.iOS.Services
|
||||||
|
|
||||||
public void OnErrorReceived(NSError error)
|
public void OnErrorReceived(NSError error)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} - Registration Failed.");
|
Debug.WriteLine($"{TAG} - Registration Failed.");
|
||||||
_pushNotificationListenerService.OnError(error.LocalizedDescription, Device.iOS);
|
_pushNotificationListenerService.OnError(error.LocalizedDescription, Device.iOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnRegisteredSuccess(NSData token)
|
public void OnRegisteredSuccess(NSData token)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} - Successfully Registered.");
|
Debug.WriteLine($"{TAG} - Successfully Registered.");
|
||||||
|
|
||||||
var hexDeviceToken = BitConverter.ToString(token.ToArray())
|
var hexDeviceToken = BitConverter.ToString(token.ToArray())
|
||||||
.Replace("-", string.Empty)
|
.Replace("-", string.Empty)
|
||||||
.ToLowerInvariant();
|
.ToLowerInvariant();
|
||||||
|
|
||||||
Console.WriteLine($"{TAG} - Token: {hexDeviceToken}");
|
Debug.WriteLine($"{TAG} - Token: {hexDeviceToken}");
|
||||||
|
|
||||||
UNUserNotificationCenter.Current.Delegate = this;
|
UNUserNotificationCenter.Current.Delegate = this;
|
||||||
|
|
||||||
|
@ -84,7 +82,7 @@ namespace Bit.iOS.Services
|
||||||
[Export("userNotificationCenter:willPresentNotification:withCompletionHandler:")]
|
[Export("userNotificationCenter:willPresentNotification:withCompletionHandler:")]
|
||||||
public void WillPresentNotification(UNUserNotificationCenter center, UNNotification notification, Action<UNNotificationPresentationOptions> completionHandler)
|
public void WillPresentNotification(UNUserNotificationCenter center, UNNotification notification, Action<UNNotificationPresentationOptions> completionHandler)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} WillPresentNotification {notification?.Request?.Content?.UserInfo}");
|
Debug.WriteLine($"{TAG} WillPresentNotification {notification?.Request?.Content?.UserInfo}");
|
||||||
|
|
||||||
OnMessageReceived(notification?.Request?.Content?.UserInfo);
|
OnMessageReceived(notification?.Request?.Content?.UserInfo);
|
||||||
completionHandler(UNNotificationPresentationOptions.Alert);
|
completionHandler(UNNotificationPresentationOptions.Alert);
|
||||||
|
@ -93,7 +91,7 @@ namespace Bit.iOS.Services
|
||||||
[Export("userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:")]
|
[Export("userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:")]
|
||||||
public void DidReceiveNotificationResponse(UNUserNotificationCenter center, UNNotificationResponse response, Action completionHandler)
|
public void DidReceiveNotificationResponse(UNUserNotificationCenter center, UNNotificationResponse response, Action completionHandler)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} DidReceiveNotificationResponse {response?.Notification?.Request?.Content?.UserInfo}");
|
Debug.WriteLine($"{TAG} DidReceiveNotificationResponse {response?.Notification?.Request?.Content?.UserInfo}");
|
||||||
|
|
||||||
if (response.IsDefaultAction)
|
if (response.IsDefaultAction)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
using System;
|
using System.Diagnostics;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Bit.App.Abstractions;
|
using Bit.App.Abstractions;
|
||||||
using Foundation;
|
using Foundation;
|
||||||
|
@ -22,7 +21,7 @@ namespace Bit.iOS.Services
|
||||||
|
|
||||||
public async Task RegisterAsync()
|
public async Task RegisterAsync()
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} RegisterAsync");
|
Debug.WriteLine($"{TAG} RegisterAsync");
|
||||||
|
|
||||||
var tcs = new TaskCompletionSource<bool>();
|
var tcs = new TaskCompletionSource<bool>();
|
||||||
|
|
||||||
|
@ -31,11 +30,11 @@ namespace Bit.iOS.Services
|
||||||
{
|
{
|
||||||
if (error != null)
|
if (error != null)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} {error}");
|
Debug.WriteLine($"{TAG} {error}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} {granted}");
|
Debug.WriteLine($"{TAG} {granted}");
|
||||||
}
|
}
|
||||||
|
|
||||||
tcs.SetResult(granted);
|
tcs.SetResult(granted);
|
||||||
|
@ -43,14 +42,14 @@ namespace Bit.iOS.Services
|
||||||
|
|
||||||
if (await tcs.Task)
|
if (await tcs.Task)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} RegisterForRemoteNotifications");
|
Debug.WriteLine($"{TAG} RegisterForRemoteNotifications");
|
||||||
UIApplication.SharedApplication.RegisterForRemoteNotifications();
|
UIApplication.SharedApplication.RegisterForRemoteNotifications();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task UnregisterAsync()
|
public Task UnregisterAsync()
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{TAG} UnregisterAsync");
|
Debug.WriteLine($"{TAG} UnregisterAsync");
|
||||||
|
|
||||||
UIApplication.SharedApplication.UnregisterForRemoteNotifications();
|
UIApplication.SharedApplication.UnregisterForRemoteNotifications();
|
||||||
// TODO: unregister call
|
// TODO: unregister call
|
||||||
|
|
Loading…
Reference in a new issue