public static Task <bool> InsertNotificationAsync( GattCharacteristic characteristic, UserNotification userNotification, ApplicationPreference application) { if (userNotification?.AppInfo == null) { return(Task.FromResult(false)); } if (application != null && application.Muted) { return(Task.FromResult(true)); } var xmlNotification = AsteroidHelper.CreateInsertNotificationCommandXml( packageName: userNotification.AppInfo.PackageFamilyName, id: userNotification.Id.ToString(), applicationName: userNotification.AppInfo.DisplayInfo.DisplayName, applicationIcon: (application?.Icon ?? default(ApplicationIcon)).GetId(), summary: userNotification.GetTitle(), body: userNotification.GetBody(), vibrationLevel: application?.Vibration ?? VibrationLevel.None); if (string.IsNullOrWhiteSpace(xmlNotification)) { return(Task.FromResult(false)); } return(characteristic.WriteByteArrayToCharacteristicAsync(Encoding.UTF8.GetBytes(xmlNotification))); }
public void UpsertUserIcon(string appId, string packageName, ApplicationIcon?icon = null, bool muted = false, VibrationLevel vibrationLevel = VibrationLevel.None) { var existingUserIcon = UserIcons.SingleOrDefault(ui => ui.AppId == appId); if (existingUserIcon != null && icon != null) { existingUserIcon.PackageName = packageName; existingUserIcon.Icon = icon.GetValueOrDefault(); existingUserIcon.Muted = muted; existingUserIcon.Vibration = muted ? VibrationLevel.None : vibrationLevel; } else if (existingUserIcon == null) { if (icon == null) { icon = GetDefaultApplicationIcon(); } var userIcon = new ApplicationPreference { AppId = appId, PackageName = packageName, Icon = icon.GetValueOrDefault(), Muted = muted, Vibration = muted ? VibrationLevel.None : vibrationLevel }; UserIcons.Add(userIcon); } }
private static ApplicationViewModel ToApplicationViewModel(ApplicationPreference applicationPreference) { return(new ApplicationViewModel { Id = applicationPreference.AppId, Name = applicationPreference.PackageName, Icon = applicationPreference.Icon, Muted = applicationPreference.Muted, Vibration = applicationPreference.Muted ? false : applicationPreference.Vibration != VibrationLevel.None }); }
public void UpsertUserIcon(ApplicationPreference applicationPreference) { this.UpsertUserIcon(applicationPreference.AppId, applicationPreference.PackageName, applicationPreference.Icon, applicationPreference.Muted, applicationPreference.Vibration); }