Jelajahi Sumber

Removed UWP projects from git

Sebastián Katzer 7 tahun lalu
induk
melakukan
77c8ab2988
100 mengubah file dengan 1 tambahan dan 6488 penghapusan
  1. 1 0
      .gitignore
  2. 0 46
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveGroup.cs
  3. 0 49
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveHelper.cs
  4. 0 89
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveImage.cs
  5. 0 72
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveImageEnums.cs
  6. 0 108
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveProgressBar.cs
  7. 0 43
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveProgressBarBindableProperty.cs
  8. 0 81
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveProgressBarValue.cs
  9. 0 85
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveSubgroup.cs
  10. 0 43
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveSubgroupEnums.cs
  11. 0 143
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveText.cs
  12. 0 28
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveTextBindableProperty.cs
  13. 0 173
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveTextEnums.cs
  14. 0 45
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/BaseImageHelper.cs
  15. 0 28
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/BaseTextHelper.cs
  16. 0 98
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/BindableValues/BindableProgressBarValue.cs
  17. 0 78
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/BindableValues/BindableString.cs
  18. 0 37
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveGroup.cs
  19. 0 67
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveImage.cs
  20. 0 32
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveImageEnums.cs
  21. 0 30
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveProgressBar.cs
  22. 0 67
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveSubgroup.cs
  23. 0 103
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveText.cs
  24. 0 22
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/IAdaptiveChild.cs
  25. 0 22
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/IAdaptiveSubgroupChild.cs
  26. 0 35
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/IBaseImage.cs
  27. 0 30
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/IBaseText.cs
  28. 0 104
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Badges/BadgeGlyphContent.cs
  29. 0 86
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Badges/BadgeGlyphValue.cs
  30. 0 86
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Badges/BadgeNumericContent.cs
  31. 0 38
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/ArgumentValidator.cs
  32. 0 64
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/BaseElement.cs
  33. 0 36
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/EnumStringAttribute.cs
  34. 0 38
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/INotificationContent.cs
  35. 0 124
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/LimitedList{T}.cs
  36. 0 30
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/NotificationContentValidationException.cs
  37. 0 32
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/NotificationXmlAttributeAttribute.cs
  38. 0 26
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/NotificationXmlContentAttribute.cs
  39. 0 34
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/NotificationXmlElementAttribute.cs
  40. 0 241
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/XmlWriterHelper.cs
  41. 0 57
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/GenerateNugetPackage.bat
  42. 0 114
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Microsoft.Toolkit.Uwp.Notifications.Shared.projitems
  43. 0 13
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Microsoft.Toolkit.Uwp.Notifications.Shared.shproj
  44. 0 20
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/Elements/Element_Tile.cs
  45. 0 135
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/Elements/Element_TileBinding.cs
  46. 0 47
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/Elements/Element_TileVisual.cs
  47. 0 38
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/Elements/TileElementsCommon.cs
  48. 0 22
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/ITileBindingContentAdaptiveChild.cs
  49. 0 51
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/SpecialTemplates/TileBindingContentContact.cs
  50. 0 52
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/SpecialTemplates/TileBindingContentIconic.cs
  51. 0 43
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/SpecialTemplates/TileBindingContentPeople.cs
  52. 0 42
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/SpecialTemplates/TileBindingContentPhotos.cs
  53. 0 98
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBackgroundImage.cs
  54. 0 50
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBasicImage.cs
  55. 0 50
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBasicText.cs
  56. 0 173
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBinding.cs
  57. 0 80
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBindingContentAdaptive.cs
  58. 0 49
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBranding.cs
  59. 0 22
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileCommon.cs
  60. 0 65
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileContent.cs
  61. 0 60
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileImages.cs
  62. 0 99
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TilePeekImage.cs
  63. 0 40
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileSizeToAdaptiveTemplateConverter.cs
  64. 0 100
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileTemplateNameV3.cs
  65. 0 38
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileTextStacking.cs
  66. 0 224
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileVisual.cs
  67. 0 131
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_Toast.cs
  68. 0 92
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastAction.cs
  69. 0 37
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastActions.cs
  70. 0 38
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastAudio.cs
  71. 0 72
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastBinding.cs
  72. 0 52
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastHeader.cs
  73. 0 65
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastImage.cs
  74. 0 62
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastInput.cs
  75. 0 30
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastSelection.cs
  76. 0 37
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastText.cs
  77. 0 37
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastVisual.cs
  78. 0 23
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/IElement_ToastActivatable.cs
  79. 0 27
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/IToastActions.cs
  80. 0 22
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/IToastBindingGenericChild.cs
  81. 0 21
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/IToastButton.cs
  82. 0 21
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/IToastInput.cs
  83. 0 100
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastActionsCustom.cs
  84. 0 48
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastActionsSnoozeAndDismiss.cs
  85. 0 44
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastActivationOptions.cs
  86. 0 47
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastAudio.cs
  87. 0 96
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastBindingGeneric.cs
  88. 0 89
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastButton.cs
  89. 0 66
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastButtonDismiss.cs
  90. 0 70
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastButtonSnooze.cs
  91. 0 54
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastCommon.cs
  92. 0 170
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastContent.cs
  93. 0 78
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastContextMenuItem.cs
  94. 0 80
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastGenericAppLogo.cs
  95. 0 37
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastGenericAppLogoEnums.cs
  96. 0 48
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastGenericAttributionText.cs
  97. 0 59
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastGenericHeroImage.cs
  98. 0 123
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastHeader.cs
  99. 0 75
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastSelectionBox.cs
  100. 0 62
      src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastSelectionBoxItem.cs

+ 1 - 0
.gitignore

@@ -1,4 +1,5 @@
 /src/windows.old
+/src/windows/Microsoft.Toolkit.Uwp.Notifications.*
 /src/windows/**/.vs
 /src/windows/**/bin
 /src/windows/**/obj

+ 0 - 46
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveGroup.cs

@@ -1,46 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Groups semantically identify that the content in the group must either be displayed as a whole, or not displayed if it cannot fit. Groups also allow creating multiple columns. Supported on Tiles since RTM. Supported on Toasts since Anniversary Update.
-    /// </summary>
-    public sealed class AdaptiveGroup : ITileBindingContentAdaptiveChild, IAdaptiveChild, IToastBindingGenericChild
-    {
-        /// <summary>
-        /// The only valid children of groups are <see cref="AdaptiveSubgroup"/>. Each subgroup is displayed as a separate vertical column. Note that you must include at least one subgroup in your group, otherwise an <see cref="InvalidOperationException"/> will be thrown when you try to retrieve the XML for the notification.
-        /// </summary>
-        public IList<AdaptiveSubgroup> Children { get; private set; } = new List<AdaptiveSubgroup>();
-
-        internal Element_AdaptiveGroup ConvertToElement()
-        {
-            if (Children.Count == 0)
-            {
-                throw new InvalidOperationException("Groups must have at least one child subgroup. The Children property had zero items in it.");
-            }
-
-            Element_AdaptiveGroup group = new Element_AdaptiveGroup();
-
-            foreach (var subgroup in Children)
-            {
-                group.Children.Add(subgroup.ConvertToElement());
-            }
-
-            return group;
-        }
-    }
-}

+ 0 - 49
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveHelper.cs

@@ -1,49 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications.Adaptive
-{
-    internal static class AdaptiveHelper
-    {
-        internal static object ConvertToElement(object obj)
-        {
-            if (obj is AdaptiveText)
-            {
-                return (obj as AdaptiveText).ConvertToElement();
-            }
-
-            if (obj is AdaptiveImage)
-            {
-                return (obj as AdaptiveImage).ConvertToElement();
-            }
-
-            if (obj is AdaptiveGroup)
-            {
-                return (obj as AdaptiveGroup).ConvertToElement();
-            }
-
-            if (obj is AdaptiveSubgroup)
-            {
-                return (obj as AdaptiveSubgroup).ConvertToElement();
-            }
-
-            if (obj is AdaptiveProgressBar)
-            {
-                return (obj as AdaptiveProgressBar).ConvertToElement();
-            }
-
-            throw new NotImplementedException("Unknown object: " + obj.GetType());
-        }
-    }
-}

+ 0 - 89
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveImage.cs

@@ -1,89 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// An inline image.
-    /// </summary>
-    public sealed class AdaptiveImage
-        : IBaseImage,
-        IToastBindingGenericChild,
-        ITileBindingContentAdaptiveChild,
-        IAdaptiveChild,
-        IAdaptiveSubgroupChild
-    {
-        /// <summary>
-        /// Control the desired cropping of the image. Supported on Tiles since RTM. Supported on Toast since Anniversary Update.
-        /// </summary>
-        public AdaptiveImageCrop HintCrop { get; set; }
-
-        /// <summary>
-        /// By default, images have an 8px margin around them. You can remove this margin by setting this property to true. Supported on Tiles since RTM. Supported on Toast since Anniversary Update.
-        /// </summary>
-        public bool? HintRemoveMargin { get; set; }
-
-        /// <summary>
-        /// The horizontal alignment of the image. For Toast, this is only supported when inside an <see cref="AdaptiveSubgroup"/>.
-        /// </summary>
-        public AdaptiveImageAlign HintAlign { get; set; }
-
-        private string _source;
-
-        /// <summary>
-        /// Required. The URI of the image. Can be from your application package, application data, or the internet. Internet images must be less than 200 KB in size.
-        /// </summary>
-        public string Source
-        {
-            get { return _source; }
-            set { BaseImageHelper.SetSource(ref _source, value); }
-        }
-
-        /// <summary>
-        /// A description of the image, for users of assistive technologies.
-        /// </summary>
-        public string AlternateText { get; set; }
-
-        /// <summary>
-        /// Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language.
-        /// </summary>
-        public bool? AddImageQuery { get; set; }
-
-        /// <summary>
-        /// Returns the image's source string.
-        /// </summary>
-        /// <returns>The image's source string.</returns>
-        public override string ToString()
-        {
-            if (Source == null)
-            {
-                return "Source is null";
-            }
-
-            return Source;
-        }
-
-        internal Element_AdaptiveImage ConvertToElement()
-        {
-            Element_AdaptiveImage image = BaseImageHelper.CreateBaseElement(this);
-
-            image.Crop = HintCrop;
-            image.RemoveMargin = HintRemoveMargin;
-            image.Align = HintAlign;
-            image.Placement = AdaptiveImagePlacement.Inline;
-
-            return image;
-        }
-    }
-}

+ 0 - 72
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveImageEnums.cs

@@ -1,72 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Specifies the horizontal alignment for an image.
-    /// </summary>
-    public enum AdaptiveImageAlign
-    {
-        /// <summary>
-        /// Default value, alignment behavior determined by renderer.
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// Image stretches to fill available width (and potentially available height too, depending on where the image is).
-        /// </summary>
-        [EnumString("stretch")]
-        Stretch,
-
-        /// <summary>
-        /// Align the image to the left, displaying the image at its native resolution.
-        /// </summary>
-        [EnumString("left")]
-        Left,
-
-        /// <summary>
-        /// Align the image in the center horizontally, displaying the image at its native resolution.
-        /// </summary>
-        [EnumString("center")]
-        Center,
-
-        /// <summary>
-        /// Align the image to the right, displaying the image at its native resolution.
-        /// </summary>
-        [EnumString("right")]
-        Right
-    }
-
-    /// <summary>
-    /// Specify the desired cropping of the image.
-    /// </summary>
-    public enum AdaptiveImageCrop
-    {
-        /// <summary>
-        /// Default value, cropping behavior determined by renderer.
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// Image is not cropped.
-        /// </summary>
-        [EnumString("none")]
-        None,
-
-        /// <summary>
-        /// Image is cropped to a circle shape.
-        /// </summary>
-        [EnumString("circle")]
-        Circle
-    }
-}

+ 0 - 108
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveProgressBar.cs

@@ -1,108 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-#if WINRT
-using System.Collections.Generic;
-#endif
-using System;
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// New in Creators Update: A progress bar. Only supported on toasts on Desktop, build 15007 or newer.
-    /// </summary>
-    public sealed class AdaptiveProgressBar : IToastBindingGenericChild
-    {
-#if WINRT
-        /// <summary>
-        /// Gets a dictionary of the current data bindings, where you can assign new bindings.
-        /// </summary>
-        public IDictionary<AdaptiveProgressBarBindableProperty, string> Bindings { get; private set; } = new Dictionary<AdaptiveProgressBarBindableProperty, string>();
-#endif
-
-        /// <summary>
-        /// Gets or sets an optional title string. Supports data binding.
-        /// </summary>
-        public
-#if WINRT
-            string
-#else
-            BindableString
-#endif
-            Title { get; set; }
-
-        /// <summary>
-        /// Gets or sets the value of the progress bar. Supports data binding. Defaults to 0.
-        /// </summary>
-        public
-#if WINRT
-            AdaptiveProgressBarValue
-#else
-            BindableProgressBarValue
-#endif
-            Value { get; set; } = AdaptiveProgressBarValue.FromValue(0);
-
-        /// <summary>
-        /// Gets or sets an optional string to be displayed instead of the default percentage string. If this isn't provided, something like "70%" will be displayed.
-        /// </summary>
-        public
-#if WINRT
-            string
-#else
-            BindableString
-#endif
-            ValueStringOverride { get; set; }
-
-        /// <summary>
-        /// Required. Gets or sets a status string, which is displayed underneath the progress bar. This string should reflect the status of the operation, like "Downloading..." or "Installing..."
-        /// </summary>
-        public
-#if WINRT
-            string
-#else
-            BindableString
-#endif
-            Status { get; set; }
-
-        internal Element_AdaptiveProgressBar ConvertToElement()
-        {
-            // If Value not provided, we use 0
-            var val = Value;
-            if (val == null)
-            {
-                val = AdaptiveProgressBarValue.FromValue(0);
-            }
-
-            var answer = new Element_AdaptiveProgressBar();
-
-#if WINRT
-            answer.Title = XmlWriterHelper.GetBindingOrAbsoluteXmlValue(Bindings, AdaptiveProgressBarBindableProperty.Title, Title);
-            answer.Value = XmlWriterHelper.GetBindingOrAbsoluteXmlValue(Bindings, AdaptiveProgressBarBindableProperty.Value, val.ToXmlString());
-            answer.ValueStringOverride = XmlWriterHelper.GetBindingOrAbsoluteXmlValue(Bindings, AdaptiveProgressBarBindableProperty.ValueStringOverride, ValueStringOverride);
-            answer.Status = XmlWriterHelper.GetBindingOrAbsoluteXmlValue(Bindings, AdaptiveProgressBarBindableProperty.Status, Status);
-#else
-            answer.Title = Title?.ToXmlString();
-            answer.Value = val.ToXmlString();
-            answer.ValueStringOverride = ValueStringOverride?.ToXmlString();
-            answer.Status = Status?.ToXmlString();
-#endif
-
-            if (answer.Status == null)
-            {
-                throw new NullReferenceException("Status property is required.");
-            }
-
-            return answer;
-        }
-    }
-}

+ 0 - 43
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveProgressBarBindableProperty.cs

@@ -1,43 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    // Note that this code is only compiled for WinRT. It is not compiled in any of the other projects.
-#if WINRT
-    /// <summary>
-    /// An enumeration of the properties that support data binding on <see cref="AdaptiveProgressBar"/> .
-    /// </summary>
-    public enum AdaptiveProgressBarBindableProperty
-    {
-        /// <summary>
-        /// An optional title string
-        /// </summary>
-        Title,
-
-        /// <summary>
-        /// The value of the progress bar.
-        /// </summary>
-        Value,
-
-        /// <summary>
-        /// An optional string to be displayed instead of the default percentage string. If this isn't provided, something like "70%" will be displayed.
-        /// </summary>
-        ValueStringOverride,
-
-        /// <summary>
-        /// An optional status string, which is displayed underneath the progress bar. If provided, this string should reflect the status of the download, like "Downloading..." or "Installing...".
-        /// </summary>
-        Status
-    }
-#endif
-}

+ 0 - 81
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveProgressBarValue.cs

@@ -1,81 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A class that represents the progress bar's value.
-    /// </summary>
-    public sealed class AdaptiveProgressBarValue
-    {
-        /// <summary>
-        /// Gets or sets the value (0-1) representing the percent complete.
-        /// </summary>
-        public double Value { get; set; }
-
-        /// <summary>
-        /// Gets or sets whether the progress bar is indeterminate.
-        /// </summary>
-        public bool IsIndeterminate { get; set; }
-
-        /// <summary>
-        /// Private constructor
-        /// </summary>
-        private AdaptiveProgressBarValue()
-        {
-        }
-
-        internal string ToXmlString()
-        {
-            if (IsIndeterminate)
-            {
-                return "indeterminate";
-            }
-
-            return Value.ToString();
-        }
-
-        /// <summary>
-        /// Returns an indeterminate progress bar value.
-        /// </summary>
-        public static AdaptiveProgressBarValue Indeterminate
-        {
-            get
-            {
-                return new AdaptiveProgressBarValue()
-                {
-                    IsIndeterminate = true
-                };
-            }
-        }
-
-        /// <summary>
-        /// Returns a progress bar value using the specified value (0-1) representing the percent complete.
-        /// </summary>
-        /// <param name="d">The value, 0-1, inclusive.</param>
-        /// <returns>A progress bar value.</returns>
-        public static AdaptiveProgressBarValue FromValue(double d)
-        {
-            if (d < 0 || d > 1)
-            {
-                throw new ArgumentOutOfRangeException("d", "Value must be between 0 and 1, inclusive.");
-            }
-
-            return new AdaptiveProgressBarValue()
-            {
-                Value = d
-            };
-        }
-    }
-}

+ 0 - 85
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveSubgroup.cs

@@ -1,85 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Subgroups are vertical columns that can contain text and images. Supported on Tiles since RTM. Supported on Toasts since Anniversary Update.
-    /// </summary>
-    public sealed class AdaptiveSubgroup
-    {
-        /// <summary>
-        /// <see cref="AdaptiveText"/> and <see cref="AdaptiveImage"/> are valid children of subgroups.
-        /// </summary>
-        public IList<IAdaptiveSubgroupChild> Children { get; private set; } = new List<IAdaptiveSubgroupChild>();
-
-        private int? _hintWeight;
-
-        /// <summary>
-        /// Control the width of this subgroup column by specifying the weight, relative to the other subgroups.
-        /// </summary>
-        public int? HintWeight
-        {
-            get
-            {
-                return _hintWeight;
-            }
-
-            set
-            {
-                Element_AdaptiveSubgroup.CheckWeight(value);
-
-                _hintWeight = value;
-            }
-        }
-
-        /// <summary>
-        /// Control the vertical alignment of this subgroup's content.
-        /// </summary>
-        public AdaptiveSubgroupTextStacking HintTextStacking { get; set; } = Element_AdaptiveSubgroup.DEFAULT_TEXT_STACKING;
-
-        internal Element_AdaptiveSubgroup ConvertToElement()
-        {
-            var subgroup = new Element_AdaptiveSubgroup()
-            {
-                Weight = HintWeight,
-                TextStacking = HintTextStacking
-            };
-
-            foreach (var child in Children)
-            {
-                subgroup.Children.Add(ConvertToSubgroupChildElement(child));
-            }
-
-            return subgroup;
-        }
-
-        private static IElement_AdaptiveSubgroupChild ConvertToSubgroupChildElement(IAdaptiveSubgroupChild child)
-        {
-            if (child is AdaptiveText)
-            {
-                return (child as AdaptiveText).ConvertToElement();
-            }
-
-            if (child is AdaptiveImage)
-            {
-                return (child as AdaptiveImage).ConvertToElement();
-            }
-
-            throw new NotImplementedException("Unknown child: " + child.GetType());
-        }
-    }
-}

+ 0 - 43
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveSubgroupEnums.cs

@@ -1,43 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// TextStacking specifies the vertical alignment of content.
-    /// </summary>
-    public enum AdaptiveSubgroupTextStacking
-    {
-        /// <summary>
-        /// Renderer automatically selects the default vertical alignment.
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// Vertical align to the top.
-        /// </summary>
-        [EnumString("top")]
-        Top,
-
-        /// <summary>
-        /// Vertical align to the center.
-        /// </summary>
-        [EnumString("center")]
-        Center,
-
-        /// <summary>
-        /// Vertical align to the bottom.
-        /// </summary>
-        [EnumString("bottom")]
-        Bottom
-    }
-}

+ 0 - 143
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveText.cs

@@ -1,143 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-#if WINRT
-using System.Collections.Generic;
-#endif
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// An adaptive text element.
-    /// </summary>
-    public sealed class AdaptiveText
-        : IAdaptiveChild,
-        IAdaptiveSubgroupChild,
-        ITileBindingContentAdaptiveChild,
-        IToastBindingGenericChild
-    {
-#if WINRT
-        /// <summary>
-        /// Gets a dictionary of the current data bindings, where you can assign new bindings.
-        /// </summary>
-        public IDictionary<AdaptiveTextBindableProperty, string> Bindings { get; private set; } = new Dictionary<AdaptiveTextBindableProperty, string>();
-#endif
-
-        /// <summary>
-        /// The text to display. Data binding support added in Creators Update, only works for toast top-level text elements.
-        /// </summary>
-        public
-#if WINRT
-            string
-#else
-            BindableString
-#endif
-            Text { get; set; }
-
-        /// <summary>
-        /// The target locale of the XML payload, specified as a BCP-47 language tags such as "en-US" or "fr-FR". The locale specified here overrides any other specified locale, such as that in binding or visual. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string.
-        /// </summary>
-        public string Language { get; set; }
-
-        /// <summary>
-        /// The style controls the text's font size, weight, and opacity. Note that for Toast, the style will only take effect if the text is inside an <see cref="AdaptiveSubgroup"/>.
-        /// </summary>
-        public AdaptiveTextStyle HintStyle { get; set; }
-
-        /// <summary>
-        /// Set this to true to enable text wrapping. For Tiles, this is false by default. For Toasts, this is true on top-level text elements, and false inside an <see cref="AdaptiveSubgroup"/>. Note that for Toast, setting wrap will only take effect if the text is inside an <see cref="AdaptiveSubgroup"/> (you can use HintMaxLines = 1 to prevent top-level text elements from wrapping).
-        /// </summary>
-        public bool? HintWrap { get; set; }
-
-        private int? _hintMaxLines;
-
-        /// <summary>
-        /// The maximum number of lines the text element is allowed to display. For Tiles, this is infinity by default. For Toasts, top-level text elements will have varying max line amounts (and in the Anniversary Update you can change the max lines). Text on a Toast inside an <see cref="AdaptiveSubgroup"/> will behave identically to Tiles (default to infinity).
-        /// </summary>
-        public int? HintMaxLines
-        {
-            get
-            {
-                return _hintMaxLines;
-            }
-
-            set
-            {
-                if (value != null)
-                {
-                    Element_AdaptiveText.CheckMaxLinesValue(value.Value);
-                }
-
-                _hintMaxLines = value;
-            }
-        }
-
-        private int? _hintMinLines;
-
-        /// <summary>
-        /// The minimum number of lines the text element must display. Note that for Toast, this property will only take effect if the text is inside an <see cref="AdaptiveSubgroup"/>.
-        /// </summary>
-        public int? HintMinLines
-        {
-            get
-            {
-                return _hintMinLines;
-            }
-
-            set
-            {
-                if (value != null)
-                {
-                    Element_AdaptiveText.CheckMinLinesValue(value.Value);
-                }
-
-                _hintMinLines = value;
-            }
-        }
-
-        /// <summary>
-        /// The horizontal alignment of the text. Note that for Toast, this property will only take effect if the text is inside an <see cref="AdaptiveSubgroup"/>.
-        /// </summary>
-        public AdaptiveTextAlign HintAlign { get; set; }
-
-        internal Element_AdaptiveText ConvertToElement()
-        {
-            var answer = new Element_AdaptiveText()
-            {
-                Lang = Language,
-                Style = HintStyle,
-                Wrap = HintWrap,
-                MaxLines = HintMaxLines,
-                MinLines = HintMinLines,
-                Align = HintAlign
-            };
-
-#if WINRT
-            answer.Text = XmlWriterHelper.GetBindingOrAbsoluteXmlValue(Bindings, AdaptiveTextBindableProperty.Text, Text);
-#else
-            answer.Text = Text?.ToXmlString();
-#endif
-
-            return answer;
-        }
-
-        /// <summary>
-        /// Returns the value of the Text property.
-        /// </summary>
-        /// <returns>The value of the Text property.</returns>
-        public override string ToString()
-        {
-            return Text;
-        }
-    }
-}

+ 0 - 28
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveTextBindableProperty.cs

@@ -1,28 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    // Note that this code is only compiled for WinRT. It is not compiled in any of the other projects.
-#if WINRT
-    /// <summary>
-    /// An enumeration of the properties that support data binding on <see cref="AdaptiveText"/> .
-    /// </summary>
-    public enum AdaptiveTextBindableProperty
-    {
-        /// <summary>
-        /// The text to display. Added in Creators Update only for toast top-level elements.
-        /// </summary>
-        Text
-    }
-#endif
-}

+ 0 - 173
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/AdaptiveTextEnums.cs

@@ -1,173 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Text style controls font size, weight, and opacity.
-    /// </summary>
-    public enum AdaptiveTextStyle
-    {
-        /// <summary>
-        /// Style is determined by the renderer.
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// Default value. Paragraph font size, normal weight and opacity.
-        /// </summary>
-        [EnumString("caption")]
-        Caption,
-
-        /// <summary>
-        /// Same as Caption but with subtle opacity.
-        /// </summary>
-        [EnumString("captionSubtle")]
-        CaptionSubtle,
-
-        /// <summary>
-        /// H5 font size.
-        /// </summary>
-        [EnumString("body")]
-        Body,
-
-        /// <summary>
-        /// Same as Body but with subtle opacity.
-        /// </summary>
-        [EnumString("bodySubtle")]
-        BodySubtle,
-
-        /// <summary>
-        /// H5 font size, bold weight. Essentially the bold version of Body.
-        /// </summary>
-        [EnumString("base")]
-        Base,
-
-        /// <summary>
-        /// Same as Base but with subtle opacity.
-        /// </summary>
-        [EnumString("baseSubtle")]
-        BaseSubtle,
-
-        /// <summary>
-        /// H4 font size.
-        /// </summary>
-        [EnumString("subtitle")]
-        Subtitle,
-
-        /// <summary>
-        /// Same as Subtitle but with subtle opacity.
-        /// </summary>
-        [EnumString("subtitleSubtle")]
-        SubtitleSubtle,
-
-        /// <summary>
-        /// H3 font size.
-        /// </summary>
-        [EnumString("title")]
-        Title,
-
-        /// <summary>
-        /// Same as Title but with subtle opacity.
-        /// </summary>
-        [EnumString("titleSubtle")]
-        TitleSubtle,
-
-        /// <summary>
-        /// Same as Title but with top/bottom padding removed.
-        /// </summary>
-        [EnumString("titleNumeral")]
-        TitleNumeral,
-
-        /// <summary>
-        /// H2 font size.
-        /// </summary>
-        [EnumString("subheader")]
-        Subheader,
-
-        /// <summary>
-        /// Same as Subheader but with subtle opacity.
-        /// </summary>
-        [EnumString("subheaderSubtle")]
-        SubheaderSubtle,
-
-        /// <summary>
-        /// Same as Subheader but with top/bottom padding removed.
-        /// </summary>
-        [EnumString("subheaderNumeral")]
-        SubheaderNumeral,
-
-        /// <summary>
-        /// H1 font size.
-        /// </summary>
-        [EnumString("header")]
-        Header,
-
-        /// <summary>
-        /// Same as Header but with subtle opacity.
-        /// </summary>
-        [EnumString("headerSubtle")]
-        HeaderSubtle,
-
-        /// <summary>
-        /// Same as Header but with top/bottom padding removed.
-        /// </summary>
-        [EnumString("headerNumeral")]
-        HeaderNumeral
-    }
-
-    /// <summary>
-    /// Controls the horizontal alignment of text.
-    /// </summary>
-    public enum AdaptiveTextAlign
-    {
-        /// <summary>
-        /// Alignment is automatically determined by
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// The system automatically decides the alignment based on the language and culture.
-        /// </summary>
-        [EnumString("auto")]
-        Auto,
-
-        /// <summary>
-        /// Horizontally align the text to the left.
-        /// </summary>
-        [EnumString("left")]
-        Left,
-
-        /// <summary>
-        /// Horizontally align the text in the center.
-        /// </summary>
-        [EnumString("center")]
-        Center,
-
-        /// <summary>
-        /// Horizontally align the text to the right.
-        /// </summary>
-        [EnumString("right")]
-        Right
-    }
-
-    internal enum AdaptiveTextPlacement
-    {
-        /// <summary>
-        /// Default value
-        /// </summary>
-        Inline,
-
-        [EnumString("attribution")]
-        Attribution
-    }
-}

+ 0 - 45
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/BaseImageHelper.cs

@@ -1,45 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal static class BaseImageHelper
-    {
-        internal static void SetSource(ref string destination, string value)
-        {
-            if (value == null)
-            {
-                throw new ArgumentNullException(nameof(value));
-            }
-
-            destination = value;
-        }
-
-        internal static Element_AdaptiveImage CreateBaseElement(IBaseImage curr)
-        {
-            if (curr.Source == null)
-            {
-                throw new NullReferenceException("Source property is required.");
-            }
-
-            return new Element_AdaptiveImage()
-            {
-                Src = curr.Source,
-                Alt = curr.AlternateText,
-                AddImageQuery = curr.AddImageQuery
-            };
-        }
-    }
-}

+ 0 - 28
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/BaseTextHelper.cs

@@ -1,28 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal class BaseTextHelper
-    {
-        internal static Element_AdaptiveText CreateBaseElement(IBaseText curr)
-        {
-            return new Element_AdaptiveText()
-            {
-                Text = curr.Text,
-                Lang = curr.Language
-            };
-        }
-    }
-}

+ 0 - 98
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/BindableValues/BindableProgressBarValue.cs

@@ -1,98 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    // Note that this code is NOT compiled for WinRT.
-    // WinRT uses a different binding system since it doesn't support implicit type converters.
-#if !WINRT
-    /// <summary>
-    /// A binding value for doubles.
-    /// </summary>
-    public sealed class BindableProgressBarValue
-    {
-        /// <summary>
-        /// Raw value is used for the implicit converter case, where dev provided a raw double. We store the raw value,
-        /// so that later on when generating the XML, we can provide this value rather than binding syntax.
-        /// </summary>
-        internal AdaptiveProgressBarValue RawValue { get; private set; }
-
-        internal bool RawIsIndeterminate { get; private set; }
-
-        /// <summary>
-        /// The name that maps to your binding data value.
-        /// </summary>
-        public string BindingName { get; set; }
-
-        /// <summary>
-        /// Initializes a new binding for a double value, with the required binding value name. Do NOT include surrounding {} brackets.
-        /// </summary>
-        /// <param name="bindingName">The name that maps to your binding data value.</param>
-        public BindableProgressBarValue(string bindingName)
-        {
-            BindingName = bindingName;
-        }
-
-        /// <summary>
-        /// Private constructor used by the implicit converter to assign the raw value.
-        /// </summary>
-        private BindableProgressBarValue()
-        {
-        }
-
-        internal string ToXmlString()
-        {
-            if (BindingName != null)
-            {
-                return "{" + BindingName + "}";
-            }
-
-            if (RawValue != null)
-            {
-                return RawValue.ToXmlString();
-            }
-
-            return null;
-        }
-
-        /// <summary>
-        /// Creates a <see cref="BindableProgressBarValue"/> that has a raw value assigned.
-        /// </summary>
-        /// <param name="v">The raw value</param>
-        public static implicit operator BindableProgressBarValue(AdaptiveProgressBarValue v)
-        {
-            return new BindableProgressBarValue()
-            {
-                RawValue = v
-            };
-        }
-
-        /// <summary>
-        /// Returns the raw value of the <see cref="BindableProgressBarValue"/>.
-        /// </summary>
-        /// <param name="b">The <see cref="BindableProgressBarValue"/> to obtain the raw value from.</param>
-        public static implicit operator AdaptiveProgressBarValue(BindableProgressBarValue b)
-        {
-            return b.RawValue;
-        }
-
-        /// <summary>
-        /// Creates an <see cref="BindableProgressBarValue"/> that has tbe raw double value.
-        /// </summary>
-        /// <param name="d">The raw value</param>
-        public static implicit operator BindableProgressBarValue(double d)
-        {
-            return AdaptiveProgressBarValue.FromValue(d);
-        }
-    }
-#endif
-}

+ 0 - 78
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/BindableValues/BindableString.cs

@@ -1,78 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    // Note that this code is NOT compiled for WinRT.
-    // WinRT uses a different binding system since it doesn't support implicit type converters.
-#if !WINRT
-    /// <summary>
-    /// A binding value for strings.
-    /// </summary>
-    public sealed class BindableString
-    {
-        internal string RawValue { get; private set; }
-
-        /// <summary>
-        /// The name that maps to your binding data value.
-        /// </summary>
-        public string BindingName { get; set; }
-
-        /// <summary>
-        /// Initializes a new binding for a string value, with the required binding name. Do NOT include surrounding {} brackets.
-        /// </summary>
-        /// <param name="bindingName">The name that maps to your data binding value.</param>
-        public BindableString(string bindingName)
-        {
-            BindingName = bindingName;
-        }
-
-        /// <summary>
-        /// Private constructor used by the implicit converter to assign the raw value.
-        /// </summary>
-        private BindableString()
-        {
-        }
-
-        internal string ToXmlString()
-        {
-            if (BindingName != null)
-            {
-                return "{" + BindingName + "}";
-            }
-
-            return RawValue;
-        }
-
-        /// <summary>
-        /// Creates a <see cref="BindableString"/> that has a raw value assigned.
-        /// </summary>
-        /// <param name="d">The raw value</param>
-        public static implicit operator BindableString(string d)
-        {
-            return new BindableString()
-            {
-                RawValue = d
-            };
-        }
-
-        /// <summary>
-        /// Returns the raw value of the <see cref="BindableString"/>.
-        /// </summary>
-        /// <param name="b">The <see cref="BindableString"/> to obtain the raw value from.</param>
-        public static implicit operator string(BindableString b)
-        {
-            return b.RawValue;
-        }
-    }
-#endif
-}

+ 0 - 37
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveGroup.cs

@@ -1,37 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements
-{
-    [NotificationXmlElement("group")]
-    internal sealed class Element_AdaptiveGroup : IElement_TileBindingChild, IElement_ToastBindingChild, IElementWithDescendants
-    {
-        public IList<Element_AdaptiveSubgroup> Children { get; private set; } = new List<Element_AdaptiveSubgroup>();
-
-        public IEnumerable<object> Descendants()
-        {
-            foreach (Element_AdaptiveSubgroup subgroup in Children)
-            {
-                // Return the subgroup
-                yield return subgroup;
-
-                // And also return its descendants
-                foreach (object descendant in subgroup.Descendants())
-                {
-                    yield return descendant;
-                }
-            }
-        }
-    }
-}

+ 0 - 67
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveImage.cs

@@ -1,67 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements
-{
-    [NotificationXmlElement("image")]
-    internal sealed class Element_AdaptiveImage : IElement_TileBindingChild, IElement_ToastBindingChild, IElement_AdaptiveSubgroupChild
-    {
-        internal const AdaptiveImagePlacement DEFAULT_PLACEMENT = AdaptiveImagePlacement.Inline;
-        internal const AdaptiveImageCrop DEFAULT_CROP = AdaptiveImageCrop.Default;
-        internal const AdaptiveImageAlign DEFAULT_ALIGN = AdaptiveImageAlign.Default;
-
-        [NotificationXmlAttribute("id")]
-        public int? Id { get; set; }
-
-        [NotificationXmlAttribute("src")]
-        public string Src { get; set; }
-
-        [NotificationXmlAttribute("alt")]
-        public string Alt { get; set; }
-
-        [NotificationXmlAttribute("addImageQuery")]
-        public bool? AddImageQuery { get; set; }
-
-        [NotificationXmlAttribute("placement", DEFAULT_PLACEMENT)]
-        public AdaptiveImagePlacement Placement { get; set; } = DEFAULT_PLACEMENT;
-
-        [NotificationXmlAttribute("hint-align", DEFAULT_ALIGN)]
-        public AdaptiveImageAlign Align { get; set; } = DEFAULT_ALIGN;
-
-        [NotificationXmlAttribute("hint-crop", DEFAULT_CROP)]
-        public AdaptiveImageCrop Crop { get; set; } = DEFAULT_CROP;
-
-        [NotificationXmlAttribute("hint-removeMargin")]
-        public bool? RemoveMargin { get; set; }
-
-        private int? _overlay;
-
-        [NotificationXmlAttribute("hint-overlay")]
-        public int? Overlay
-        {
-            get
-            {
-                return _overlay;
-            }
-
-            set
-            {
-                if (value != null)
-                {
-                    Element_TileBinding.CheckOverlayValue(value.Value);
-                }
-
-                _overlay = value;
-            }
-        }
-    }
-}

+ 0 - 32
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveImageEnums.cs

@@ -1,32 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements
-{
-    internal enum AdaptiveImagePlacement
-    {
-        [EnumString("inline")]
-        Inline,
-
-        [EnumString("background")]
-        Background,
-
-        [EnumString("peek")]
-        Peek,
-
-        [EnumString("hero")]
-        Hero,
-
-        [EnumString("appLogoOverride")]
-        AppLogoOverride
-    }
-}

+ 0 - 30
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveProgressBar.cs

@@ -1,30 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements
-{
-    [NotificationXmlElement("progress")]
-    internal sealed class Element_AdaptiveProgressBar : IElement_ToastBindingChild
-    {
-        [NotificationXmlAttribute("value")]
-        public string Value { get; set; }
-
-        [NotificationXmlAttribute("title")]
-        public string Title { get; set; }
-
-        [NotificationXmlAttribute("valueStringOverride")]
-        public string ValueStringOverride { get; set; }
-
-        [NotificationXmlAttribute("status")]
-        public string Status { get; set; }
-    }
-}

+ 0 - 67
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveSubgroup.cs

@@ -1,67 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements
-{
-    [NotificationXmlElement("subgroup")]
-    internal sealed class Element_AdaptiveSubgroup : IElementWithDescendants
-    {
-        internal const AdaptiveSubgroupTextStacking DEFAULT_TEXT_STACKING = AdaptiveSubgroupTextStacking.Default;
-
-        [NotificationXmlAttribute("hint-textStacking", DEFAULT_TEXT_STACKING)]
-        public AdaptiveSubgroupTextStacking TextStacking { get; set; } = DEFAULT_TEXT_STACKING;
-
-        private int? _weight;
-
-        [NotificationXmlAttribute("hint-weight")]
-        public int? Weight
-        {
-            get
-            {
-                return _weight;
-            }
-
-            set
-            {
-                CheckWeight(value);
-
-                _weight = value;
-            }
-        }
-
-        internal static void CheckWeight(int? weight)
-        {
-            if (weight != null && weight.Value < 1)
-            {
-                throw new ArgumentOutOfRangeException("Weight must be between 1 and int.MaxValue, inclusive (or null)");
-            }
-        }
-
-        public IList<IElement_AdaptiveSubgroupChild> Children { get; private set; } = new List<IElement_AdaptiveSubgroupChild>();
-
-        public IEnumerable<object> Descendants()
-        {
-            foreach (IElement_AdaptiveSubgroupChild child in Children)
-            {
-                // Return each child (we know there's no further descendants)
-                yield return child;
-            }
-        }
-    }
-
-    internal interface IElement_AdaptiveSubgroupChild
-    {
-    }
-}

+ 0 - 103
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/Elements/Element_AdaptiveText.cs

@@ -1,103 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements
-{
-    [NotificationXmlElement("text")]
-    internal sealed class Element_AdaptiveText : IElement_TileBindingChild, IElement_AdaptiveSubgroupChild, IElement_ToastBindingChild
-    {
-        internal const AdaptiveTextStyle DEFAULT_STYLE = AdaptiveTextStyle.Default;
-        internal const AdaptiveTextAlign DEFAULT_ALIGN = AdaptiveTextAlign.Default;
-        internal const AdaptiveTextPlacement DEFAULT_PLACEMENT = AdaptiveTextPlacement.Inline;
-
-        [NotificationXmlContent]
-        public string Text { get; set; }
-
-        [NotificationXmlAttribute("id")]
-        public int? Id { get; set; }
-
-        [NotificationXmlAttribute("lang")]
-        public string Lang { get; set; }
-
-        [NotificationXmlAttribute("hint-align", DEFAULT_ALIGN)]
-        public AdaptiveTextAlign Align { get; set; } = DEFAULT_ALIGN;
-
-        private int? _maxLines;
-
-        [NotificationXmlAttribute("hint-maxLines")]
-        public int? MaxLines
-        {
-            get
-            {
-                return _maxLines;
-            }
-
-            set
-            {
-                if (value != null)
-                {
-                    CheckMaxLinesValue(value.Value);
-                }
-
-                _maxLines = value;
-            }
-        }
-
-        internal static void CheckMaxLinesValue(int value)
-        {
-            if (value < 1)
-            {
-                throw new ArgumentOutOfRangeException("MaxLines must be between 1 and int.MaxValue, inclusive.");
-            }
-        }
-
-        private int? _minLines;
-
-        [NotificationXmlAttribute("hint-minLines")]
-        public int? MinLines
-        {
-            get
-            {
-                return _minLines;
-            }
-
-            set
-            {
-                if (value != null)
-                {
-                    CheckMinLinesValue(value.Value);
-                }
-
-                _minLines = value;
-            }
-        }
-
-        internal static void CheckMinLinesValue(int value)
-        {
-            if (value < 1)
-            {
-                throw new ArgumentOutOfRangeException("MinLines must be between 1 and int.MaxValue, inclusive.");
-            }
-        }
-
-        [NotificationXmlAttribute("hint-style", DEFAULT_STYLE)]
-        public AdaptiveTextStyle Style { get; set; } = DEFAULT_STYLE;
-
-        [NotificationXmlAttribute("hint-wrap")]
-        public bool? Wrap { get; set; }
-
-        [NotificationXmlAttribute("placement", DEFAULT_PLACEMENT)]
-        public AdaptiveTextPlacement Placement { get; set; } = DEFAULT_PLACEMENT;
-    }
-}

+ 0 - 22
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/IAdaptiveChild.cs

@@ -1,22 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Elements that can be direct children of adaptive content, including (<see cref="AdaptiveText"/>, <see cref="AdaptiveImage"/>, and <see cref="AdaptiveGroup"/>).
-    /// </summary>
-    public interface IAdaptiveChild
-    {
-        // Blank interface simply for compile-enforcing the child types in the list.
-    }
-}

+ 0 - 22
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/IAdaptiveSubgroupChild.cs

@@ -1,22 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Elements that can be direct children of an <see cref="AdaptiveSubgroup"/>, including  (<see cref="AdaptiveText"/> and <see cref="AdaptiveImage"/>).
-    /// </summary>
-    public interface IAdaptiveSubgroupChild
-    {
-        // Blank interface simply for compile-enforcing the child types in the list.
-    }
-}

+ 0 - 35
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/IBaseImage.cs

@@ -1,35 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Contains the base properties that an image needs.
-    /// </summary>
-    public interface IBaseImage
-    {
-        /// <summary>
-        /// The URI of the image. Can be from your application package, application data, or the internet. Internet images must be less than 200 KB in size.
-        /// </summary>
-        string Source { get; set; }
-
-        /// <summary>
-        /// A description of the image, for users of assistive technologies.
-        /// </summary>
-        string AlternateText { get; set; }
-
-        /// <summary>
-        /// Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language.
-        /// </summary>
-        bool? AddImageQuery { get; set; }
-    }
-}

+ 0 - 30
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Adaptive/IBaseText.cs

@@ -1,30 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Defines the basic properties of a text element.
-    /// </summary>
-    public interface IBaseText
-    {
-        /// <summary>
-        /// The text to display.
-        /// </summary>
-        string Text { get; set; }
-
-        /// <summary>
-        /// The target locale of the XML payload, specified as a BCP-47 language tags such as "en-US" or "fr-FR". The locale specified here overrides any other specified locale, such as that in binding or visual. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string.
-        /// </summary>
-        string Language { get; set; }
-    }
-}

+ 0 - 104
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Badges/BadgeGlyphContent.cs

@@ -1,104 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-#if WINDOWS_UWP
-using Windows.Data.Xml.Dom;
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Notification content object to display a glyph on a Tile's badge.
-    /// </summary>
-    public sealed class BadgeGlyphContent : INotificationContent
-    {
-        /// <summary>
-        /// Default constructor to create a glyph badge content object.
-        /// </summary>
-        public BadgeGlyphContent()
-        {
-        }
-
-        /// <summary>
-        /// Constructor to create a glyph badge content object with a glyph.
-        /// </summary>
-        /// <param name="glyph">The glyph to be displayed on the badge.</param>
-        public BadgeGlyphContent(BadgeGlyphValue glyph)
-        {
-            _glyph = glyph;
-        }
-
-        /// <summary>
-        /// The glyph to be displayed on the badge.
-        /// </summary>
-        public BadgeGlyphValue Glyph
-        {
-            get
-            {
-                return _glyph;
-            }
-
-            set
-            {
-                if (!Enum.IsDefined(typeof(BadgeGlyphValue), value))
-                {
-                    throw new ArgumentOutOfRangeException(nameof(value));
-                }
-
-                _glyph = value;
-            }
-        }
-
-        /// <summary>
-        /// Retrieves the notification Xml content as a string.
-        /// </summary>
-        /// <returns>The notification Xml content as a string.</returns>
-        public string GetContent()
-        {
-            if (!Enum.IsDefined(typeof(BadgeGlyphValue), _glyph))
-            {
-                throw new NotificationContentValidationException("The badge glyph property was left unset.");
-            }
-
-            string glyphString = _glyph.ToString();
-
-            // lower case the first character of the enum value to match the Xml schema
-            glyphString = string.Format("{0}{1}", char.ToLowerInvariant(glyphString[0]), glyphString.Substring(1));
-            return string.Format("<badge value='{0}'/>", glyphString);
-        }
-
-        /// <summary>
-        /// Retrieves the notification XML content as a string.
-        /// </summary>
-        /// <returns>The notification XML content as a string.</returns>
-        public override string ToString()
-        {
-            return GetContent();
-        }
-
-#if WINDOWS_UWP
-        /// <summary>
-        /// Retrieves the notification XML content as a WinRT Xml document.
-        /// </summary>
-        /// <returns>The notification XML content as a WinRT Xml document.</returns>
-        public XmlDocument GetXml()
-        {
-            XmlDocument xml = new XmlDocument();
-            xml.LoadXml(GetContent());
-            return xml;
-        }
-#endif
-
-        private BadgeGlyphValue _glyph = (BadgeGlyphValue)(-1);
-    }
-}

+ 0 - 86
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Badges/BadgeGlyphValue.cs

@@ -1,86 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// The types of glyphs that can be placed on a badge.
-    /// </summary>
-    public enum BadgeGlyphValue
-    {
-        /// <summary>
-        /// No glyph.  If there is a numeric badge, or a glyph currently on the badge,
-        /// it will be removed.
-        /// </summary>
-        None = 0,
-
-        /// <summary>
-        /// A glyph representing application activity.
-        /// </summary>
-        Activity,
-
-        /// <summary>
-        /// A glyph representing an alert.
-        /// </summary>
-        Alert,
-
-        /// <summary>
-        /// A glyph representing an alarm.
-        /// </summary>
-        Alarm,
-
-        /// <summary>
-        /// A glyph representing availability status.
-        /// </summary>
-        Available,
-
-        /// <summary>
-        /// A glyph representing away status
-        /// </summary>
-        Away,
-
-        /// <summary>
-        /// A glyph representing busy status.
-        /// </summary>
-        Busy,
-
-        /// <summary>
-        /// A glyph representing that a new message is available.
-        /// </summary>
-        NewMessage,
-
-        /// <summary>
-        /// A glyph representing that media is paused.
-        /// </summary>
-        Paused,
-
-        /// <summary>
-        /// A glyph representing that media is playing.
-        /// </summary>
-        Playing,
-
-        /// <summary>
-        /// A glyph representing unavailable status.
-        /// </summary>
-        Unavailable,
-
-        /// <summary>
-        /// A glyph representing an error.
-        /// </summary>
-        Error,
-
-        /// <summary>
-        /// A glyph representing attention status.
-        /// </summary>
-        Attention
-    }
-}

+ 0 - 86
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Badges/BadgeNumericContent.cs

@@ -1,86 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-#if WINDOWS_UWP
-using Windows.Data.Xml.Dom;
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Notification content object to display a number on a Tile's badge.
-    /// </summary>
-    public sealed class BadgeNumericContent : INotificationContent
-    {
-        /// <summary>
-        /// Default constructor to create a numeric badge content object.
-        /// </summary>
-        public BadgeNumericContent()
-        {
-        }
-
-        /// <summary>
-        /// Constructor to create a numeric badge content object with a number.
-        /// </summary>
-        /// <param name="number">
-        /// The number that will appear on the badge.  If the number is 0, the badge
-        /// will be removed.
-        /// </param>
-        public BadgeNumericContent(uint number)
-        {
-            _number = number;
-        }
-
-        /// <summary>
-        /// The number that will appear on the badge.  If the number is 0, the badge
-        /// will be removed.
-        /// </summary>
-        public uint Number
-        {
-            get { return _number; }
-            set { _number = value; }
-        }
-
-        /// <summary>
-        /// Retrieves the notification Xml content as a string.
-        /// </summary>
-        /// <returns>The notification Xml content as a string.</returns>
-        public string GetContent()
-        {
-            return string.Format("<badge value='{0}'/>", _number);
-        }
-
-        /// <summary>
-        /// Retrieves the notification Xml content as a string.
-        /// </summary>
-        /// <returns>The notification Xml content as a string.</returns>
-        public override string ToString()
-        {
-            return GetContent();
-        }
-
-#if WINDOWS_UWP
-    /// <summary>
-    /// Retrieves the notification Xml content as a WinRT Xml document.
-    /// </summary>
-    /// <returns>The notification Xml content as a WinRT Xml document.</returns>
-        public XmlDocument GetXml()
-        {
-            XmlDocument xml = new XmlDocument();
-            xml.LoadXml(GetContent());
-            return xml;
-        }
-#endif
-
-        private uint _number = 0;
-    }
-}

+ 0 - 38
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/ArgumentValidator.cs

@@ -1,38 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal static class ArgumentValidator
-    {
-        public static void SetProperty<T>(ref T property, T value, string propertyName, ArgumentValidatorOptions options)
-        {
-            if (options.HasFlag(ArgumentValidatorOptions.NotNull))
-            {
-                if (value == null)
-                {
-                    throw new ArgumentNullException(propertyName);
-                }
-            }
-
-            property = value;
-        }
-    }
-
-    [Flags]
-    internal enum ArgumentValidatorOptions
-    {
-        NotNull
-    }
-}

+ 0 - 64
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/BaseElement.cs

@@ -1,64 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System.IO;
-using System.Text;
-
-#if WINDOWS_UWP
-using Windows.Data.Xml.Dom;
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal abstract class BaseElement
-    {
-        /// <summary>
-        /// Retrieves the notification XML content as a string.
-        /// </summary>
-        /// <returns>The notification XML content as a string.</returns>
-        public string GetContent()
-        {
-            using (MemoryStream stream = new MemoryStream())
-            {
-                using (System.Xml.XmlWriter writer = System.Xml.XmlWriter.Create(stream, new System.Xml.XmlWriterSettings()
-                {
-                    Encoding = Encoding.UTF8, // Use UTF-8 encoding to save space (it defaults to UTF-16 which is 2x the size)
-                    Indent = false,
-                    NewLineOnAttributes = false
-                }))
-                {
-                    XmlWriterHelper.Write(writer, this);
-                }
-
-                stream.Position = 0;
-
-                using (StreamReader reader = new StreamReader(stream))
-                {
-                    return reader.ReadToEnd();
-                }
-            }
-        }
-
-#if WINDOWS_UWP
-        /// <summary>
-        /// Retrieves the notification XML content as a WinRT XML document.
-        /// </summary>
-        /// <returns>The notification XML content as a WinRT XML document.</returns>
-        public XmlDocument GetXml()
-        {
-            XmlDocument xml = new XmlDocument();
-            xml.LoadXml(GetContent());
-            return xml;
-        }
-#endif
-    }
-}

+ 0 - 36
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/EnumStringAttribute.cs

@@ -1,36 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal sealed class EnumStringAttribute : Attribute
-    {
-        public string String { get; }
-
-        public EnumStringAttribute(string s)
-        {
-            if (s == null)
-            {
-                throw new ArgumentNullException(nameof(s));
-            }
-
-            String = s;
-        }
-
-        public override string ToString()
-        {
-            return String;
-        }
-    }
-}

+ 0 - 38
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/INotificationContent.cs

@@ -1,38 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-#if WINDOWS_UWP
-using Windows.Data.Xml.Dom;
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Base notification content interface to retrieve notification Xml as a string.
-    /// </summary>
-    public interface INotificationContent
-    {
-        /// <summary>
-        /// Retrieves the notification Xml content as a string.
-        /// </summary>
-        /// <returns>The notification Xml content as a string.</returns>
-        string GetContent();
-
-#if WINDOWS_UWP
-        /// <summary>
-        /// Retrieves the notification Xml content as a WinRT Xml document.
-        /// </summary>
-        /// <returns>The notification Xml content as a WinRT Xml document.</returns>
-        XmlDocument GetXml();
-#endif
-    }
-}

+ 0 - 124
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/LimitedList{T}.cs

@@ -1,124 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-#if WINDOWS_UWP
-
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal sealed class LimitedList<T> : IList<T>
-    {
-        private List<T> _list;
-
-        public int Limit { get; private set; }
-
-        public LimitedList(int limit)
-        {
-            _list = new List<T>(limit);
-
-            Limit = limit;
-        }
-
-        public T this[int index]
-        {
-            get
-            {
-                return _list[index];
-            }
-
-            set
-            {
-                _list[index] = value;
-            }
-        }
-
-        public int Count
-        {
-            get
-            {
-                return _list.Count;
-            }
-        }
-
-        public bool IsReadOnly
-        {
-            get
-            {
-                return false;
-            }
-        }
-
-        public void Add(T item)
-        {
-            if (_list.Count >= Limit)
-            {
-                throw new Exception("This list is limited to " + Limit + " items. You cannot add more items.");
-            }
-
-            _list.Add(item);
-        }
-
-        public void Clear()
-        {
-            _list.Clear();
-        }
-
-        public bool Contains(T item)
-        {
-            return _list.Contains(item);
-        }
-
-        public void CopyTo(T[] array, int arrayIndex)
-        {
-            _list.CopyTo(array, arrayIndex);
-        }
-
-        public IEnumerator<T> GetEnumerator()
-        {
-            return _list.GetEnumerator();
-        }
-
-        public int IndexOf(T item)
-        {
-            return _list.IndexOf(item);
-        }
-
-        public void Insert(int index, T item)
-        {
-            _list.Insert(index, item);
-        }
-
-        public bool Remove(T item)
-        {
-            return _list.Remove(item);
-        }
-
-        public void RemoveAt(int index)
-        {
-            _list.RemoveAt(index);
-        }
-
-        IEnumerator IEnumerable.GetEnumerator()
-        {
-            return GetEnumerator();
-        }
-    }
-
-    internal interface IElementWithDescendants
-    {
-        IEnumerable<object> Descendants();
-    }
-}

+ 0 - 30
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/NotificationContentValidationException.cs

@@ -1,30 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-#if WINDOWS_UWP
-
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Exception returned when invalid notification content is provided.
-    /// </summary>
-    internal sealed class NotificationContentValidationException : Exception
-    {
-        public NotificationContentValidationException(string message)
-            : base(message)
-        {
-        }
-    }
-}

+ 0 - 32
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/NotificationXmlAttributeAttribute.cs

@@ -1,32 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-#if WINDOWS_UWP
-
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal sealed class NotificationXmlAttributeAttribute : Attribute
-    {
-        public string Name { get; private set; }
-
-        public object DefaultValue { get; private set; }
-
-        public NotificationXmlAttributeAttribute(string name, object defaultValue = null)
-        {
-            Name = name;
-            DefaultValue = defaultValue;
-        }
-    }
-}

+ 0 - 26
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/NotificationXmlContentAttribute.cs

@@ -1,26 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-#if WINDOWS_UWP
-
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// This attribute should be specified at most one time on an Element class. The property's value will be written as a string in the element's body.
-    /// </summary>
-    internal sealed class NotificationXmlContentAttribute : Attribute
-    {
-    }
-}

+ 0 - 34
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/NotificationXmlElementAttribute.cs

@@ -1,34 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-#if WINDOWS_UWP
-
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal sealed class NotificationXmlElementAttribute : Attribute
-    {
-        public string Name { get; private set; }
-
-        public NotificationXmlElementAttribute(string name)
-        {
-            if (string.IsNullOrWhiteSpace(name))
-            {
-                throw new ArgumentNullException("name cannot be null or whitespace");
-            }
-
-            Name = name;
-        }
-    }
-}

+ 0 - 241
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Common/XmlWriterHelper.cs

@@ -1,241 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-
-#if WINDOWS_UWP
-
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal static class XmlWriterHelper
-    {
-        public static void Write(System.Xml.XmlWriter writer, object element)
-        {
-            NotificationXmlElementAttribute elAttr = GetElementAttribute(element.GetType());
-
-            // If it isn't an element attribute, don't write anything
-            if (elAttr == null)
-            {
-                return;
-            }
-
-            writer.WriteStartElement(elAttr.Name);
-
-            IEnumerable<PropertyInfo> properties = GetProperties(element.GetType());
-
-            List<object> elements = new List<object>();
-            object content = null;
-
-            // Write the attributes first
-            foreach (PropertyInfo p in properties)
-            {
-                IEnumerable<Attribute> attributes = GetCustomAttributes(p);
-
-                NotificationXmlAttributeAttribute attr = attributes.OfType<NotificationXmlAttributeAttribute>().FirstOrDefault();
-
-                object propertyValue = GetPropertyValue(p, element);
-
-                // If it's an attribute
-                if (attr != null)
-                {
-                    object defaultValue = attr.DefaultValue;
-
-                    // If the value is not the default value (and it's not null) we'll write it
-                    if (!object.Equals(propertyValue, defaultValue) && propertyValue != null)
-                    {
-                        writer.WriteAttributeString(attr.Name, PropertyValueToString(propertyValue));
-                    }
-                }
-
-                // If it's a content attribute
-                else if (attributes.OfType<NotificationXmlContentAttribute>().Any())
-                {
-                    content = propertyValue;
-                }
-
-                // Otherwise it's an element or collection of elements
-                else
-                {
-                    if (propertyValue != null)
-                    {
-                        elements.Add(propertyValue);
-                    }
-                }
-            }
-
-            // Then write children
-            foreach (object el in elements)
-            {
-                // If it's a collection of children
-                if (el is IEnumerable)
-                {
-                    foreach (object child in el as IEnumerable)
-                    {
-                        Write(writer, child);
-                    }
-
-                    continue;
-                }
-
-                // Otherwise just write the single element
-                Write(writer, el);
-            }
-
-            // Then write any content if there is content
-            if (content != null)
-            {
-                string contentString = content.ToString();
-                if (!string.IsNullOrWhiteSpace(contentString))
-                {
-                    writer.WriteString(contentString);
-                }
-            }
-
-            writer.WriteEndElement();
-        }
-
-        private static object GetPropertyValue(PropertyInfo propertyInfo, object obj)
-        {
-#if NETFX_CORE
-            return propertyInfo.GetValue(obj);
-#else
-            return propertyInfo.GetValue(obj, null);
-#endif
-        }
-
-        private static string PropertyValueToString(object propertyValue)
-        {
-            Type type = propertyValue.GetType();
-
-            if (IsEnum(type))
-            {
-                EnumStringAttribute enumStringAttr = GetEnumStringAttribute(propertyValue as Enum);
-
-                if (enumStringAttr != null)
-                {
-                    return enumStringAttr.String;
-                }
-            }
-            else if (propertyValue is bool)
-            {
-                if ((bool)propertyValue)
-                {
-                    return "true";
-                }
-
-                return "false";
-            }
-            else if (propertyValue is DateTimeOffset?)
-            {
-                DateTimeOffset? dateTime = propertyValue as DateTimeOffset?;
-                if (dateTime.HasValue)
-                {
-                    // ISO 8601 format
-                    return System.Xml.XmlConvert.ToString(dateTime.Value);
-                }
-                else
-                {
-                    return null;
-                }
-            }
-
-            return propertyValue.ToString();
-        }
-
-        private static EnumStringAttribute GetEnumStringAttribute(Enum enumValue)
-        {
-#if NETFX_CORE
-            return enumValue.GetType().GetTypeInfo().GetDeclaredField(enumValue.ToString()).GetCustomAttribute<EnumStringAttribute>();
-#else
-            MemberInfo[] memberInfo = enumValue.GetType().GetMember(enumValue.ToString());
-
-            if (memberInfo != null && memberInfo.Length > 0)
-            {
-                object[] attrs = memberInfo[0].GetCustomAttributes(typeof(EnumStringAttribute), false);
-
-                if (attrs != null && attrs.Length > 0)
-                    return attrs[0] as EnumStringAttribute;
-            }
-
-            return null;
-#endif
-        }
-
-        private static bool IsEnum(Type type)
-        {
-#if NETFX_CORE
-            return type.GetTypeInfo().IsEnum;
-#else
-            return type.IsEnum;
-#endif
-        }
-
-        private static IEnumerable<PropertyInfo> GetProperties(Type type)
-        {
-#if NETFX_CORE
-            return type.GetTypeInfo().DeclaredProperties;
-#else
-            return type.GetProperties();
-#endif
-        }
-
-        private static NotificationXmlElementAttribute GetElementAttribute(Type type)
-        {
-            return GetCustomAttributes(type).OfType<NotificationXmlElementAttribute>().FirstOrDefault();
-        }
-
-        private static IEnumerable<Attribute> GetCustomAttributes(Type type)
-        {
-#if NETFX_CORE
-            return type.GetTypeInfo().GetCustomAttributes();
-#else
-            return type.GetCustomAttributes(true).OfType<Attribute>();
-#endif
-        }
-
-        private static IEnumerable<Attribute> GetCustomAttributes(PropertyInfo propertyInfo)
-        {
-#if NETFX_CORE
-            return propertyInfo.GetCustomAttributes();
-#else
-            return propertyInfo.GetCustomAttributes(true).OfType<Attribute>();
-#endif
-        }
-
-        /// <summary>
-        /// Gets the provided binding value, if it exists. Otherwise, falls back to the absolute value.
-        /// </summary>
-        /// <typeparam name="T">The type of the enum of the class properties.</typeparam>
-        /// <param name="bindings">The collection of data-bound values.</param>
-        /// <param name="bindableProperty">The property to obtain.</param>
-        /// <param name="absoluteValue">The absolute value, if any.</param>
-        /// <returns>The provided binding value, if it exists. Otherwise, falls back to the absolute value.</returns>
-        internal static string GetBindingOrAbsoluteXmlValue<T>(IDictionary<T, string> bindings, T bindableProperty, string absoluteValue)
-        {
-            // If a binding is provided, use the binding value
-            string bindingValue;
-            if (bindings.TryGetValue(bindableProperty, out bindingValue))
-            {
-                return "{" + bindingValue + "}";
-            }
-
-            // Otherwise fallback to the absolute value
-            return absoluteValue;
-        }
-    }
-}

+ 0 - 57
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/GenerateNugetPackage.bat

@@ -1,57 +0,0 @@
-@echo off
-
-set files=..\Microsoft.Windows.Toolkit.Notifications.Portable\bin\Release\Microsoft.Windows.Toolkit.Notifications.dll
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.Portable\bin\Release\Microsoft.Windows.Toolkit.Notifications.pdb
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.Portable\bin\Release\Microsoft.Windows.Toolkit.Notifications.xml
-
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.WinRT\bin\Release\Microsoft.Windows.Toolkit.Notifications.winmd
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.WinRT\bin\Release\Microsoft.Windows.Toolkit.Notifications.pri
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.WinRT\bin\Release\Microsoft.Windows.Toolkit.Notifications.pdb
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.WinRT\bin\Release\Microsoft.Windows.Toolkit.Notifications.xml
-
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.NETStandard\bin\Release\Microsoft.Windows.Toolkit.Notifications.dll
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.NETStandard\bin\Release\Microsoft.Windows.Toolkit.Notifications.pdb
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.NETStandard\bin\Release\Microsoft.Windows.Toolkit.Notifications.xml
-
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.UWP\bin\Release\Microsoft.Windows.Toolkit.Notifications.dll
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.UWP\bin\Release\Microsoft.Windows.Toolkit.Notifications.pdb
-set files=%files% ..\Microsoft.Windows.Toolkit.Notifications.UWP\bin\Release\Microsoft.Windows.Toolkit.Notifications.xml
-
-FOR %%f IN (%files%) DO IF NOT EXIST %%f call :file_not_found %%f
-
-
-echo Here are the current timestamps on the DLL's...
-echo.
-
-FOR %%f IN (%files%) DO ECHO %%~tf %%f
-
-echo.
-
-PAUSE
-
-
-
-echo Welcome, let's create a new NuGet package for Notifications!
-echo.
-
-set /p version="Enter Version Number (ex. 10240.0.0): "
-
-if not exist "NugetPackages" mkdir "NugetPackages"
-
-"C:\Program Files (x86)\NuGet\nuget.exe" pack Microsoft.Windows.Toolkit.Notifications.nuspec -Version %version% -OutputDirectory "NugetPackages"
-
-"C:\Program Files (x86)\NuGet\nuget.exe" pack Microsoft.Windows.Toolkit.Notifications.JavaScript.nuspec -Version %version% -OutputDirectory "NugetPackages"
-
-PAUSE
-
-explorer NugetPackages
-
-
-
-
-exit
-:file_not_found
-
-echo File not found: %1
-PAUSE
-exit

+ 0 - 114
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Microsoft.Toolkit.Uwp.Notifications.Shared.projitems

@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
-    <HasSharedItems>true</HasSharedItems>
-    <SharedGUID>8bacd7a9-b205-4adf-bda9-763b30a66576</SharedGUID>
-  </PropertyGroup>
-  <PropertyGroup Label="Configuration">
-    <Import_RootNamespace>Microsoft.Toolkit.Uwp.Notifications</Import_RootNamespace>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveGroup.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveHelper.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveImage.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveImageEnums.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveProgressBar.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveProgressBarBindableProperty.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveProgressBarValue.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveSubgroup.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveSubgroupEnums.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveText.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveTextBindableProperty.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\AdaptiveTextEnums.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\BaseImageHelper.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\BaseTextHelper.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\BindableValues\BindableProgressBarValue.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\BindableValues\BindableString.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\Elements\Element_AdaptiveProgressBar.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\IAdaptiveSubgroupChild.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\Elements\Element_AdaptiveGroup.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\Elements\Element_AdaptiveImage.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\Elements\Element_AdaptiveImageEnums.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\Elements\Element_AdaptiveSubgroup.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\Elements\Element_AdaptiveText.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\IAdaptiveChild.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\IBaseImage.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Adaptive\IBaseText.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Badges\BadgeGlyphContent.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Badges\BadgeGlyphValue.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Badges\BadgeNumericContent.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\ArgumentValidator.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\BaseElement.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\INotificationContent.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\EnumStringAttribute.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\LimitedList{T}.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\NotificationContentValidationException.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\NotificationXmlAttributeAttribute.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\NotificationXmlContentAttribute.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\NotificationXmlElementAttribute.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Common\XmlWriterHelper.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\ITileBindingContentAdaptiveChild.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileBackgroundImage.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileBasicImage.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileCommon.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\Elements\TileElementsCommon.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\Elements\Element_Tile.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\Elements\Element_TileBinding.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\Elements\Element_TileVisual.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileImages.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\SpecialTemplates\TileBindingContentContact.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\SpecialTemplates\TileBindingContentIconic.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\SpecialTemplates\TileBindingContentPeople.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\SpecialTemplates\TileBindingContentPhotos.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileBasicText.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileBinding.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileBindingContentAdaptive.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileBranding.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileContent.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TilePeekImage.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileSizeToAdaptiveTemplateConverter.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileTemplateNameV3.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileTextStacking.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Tiles\TileVisual.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastHeader.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\IElement_ToastActivatable.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastActivationOptions.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\IToastBindingGenericChild.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\IToastButton.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\IToastInput.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastActionsCustom.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastActionsSnoozeAndDismiss.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastButtonDismiss.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastButtonSnooze.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastCommon.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_Toast.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastAction.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastActions.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastAudio.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastBinding.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastImage.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastInput.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastSelection.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastText.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\Elements\Element_ToastVisual.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\IToastActions.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastAudio.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastBindingGeneric.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastButton.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastContent.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastContextMenuItem.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastGenericAppLogo.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastGenericAppLogoEnums.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastGenericAttributionText.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastGenericHeroImage.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastHeader.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastSelectionBox.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastSelectionBoxItem.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastTextBox.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Toasts\ToastVisual.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="$(MSBuildThisFileDirectory)readme.md" />
-  </ItemGroup>
-</Project>

+ 0 - 13
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Microsoft.Toolkit.Uwp.Notifications.Shared.shproj

@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>8bacd7a9-b205-4adf-bda9-763b30a66576</ProjectGuid>
-    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
-  </PropertyGroup>
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
-  <PropertyGroup />
-  <Import Project="Microsoft.Toolkit.Uwp.Notifications.Shared.projitems" Label="Shared" />
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
-</Project>

+ 0 - 20
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/Elements/Element_Tile.cs

@@ -1,20 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("tile")]
-    internal sealed class Element_Tile : BaseElement
-    {
-        public Element_TileVisual Visual { get; set; }
-    }
-}

+ 0 - 135
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/Elements/Element_TileBinding.cs

@@ -1,135 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("binding")]
-    internal sealed class Element_TileBinding : IElementWithDescendants
-    {
-        internal const TileBranding DEFAULT_BRANDING = TileBranding.Auto;
-        internal const TileTextStacking DEFAULT_TEXT_STACKING = TileTextStacking.Top;
-        internal const int DEFAULT_OVERLAY = 20;
-
-        public Element_TileBinding(TileTemplateNameV3 template)
-        {
-            Template = template;
-        }
-
-        [NotificationXmlAttribute("template")]
-        public TileTemplateNameV3 Template { get; private set; }
-
-        /// <summary>
-        /// Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language; for instance, a value of
-        ///
-        /// "www.website.com/images/hello.png"
-        ///
-        /// included in the notification becomes
-        ///
-        /// "www.website.com/images/hello.png?ms-scale=100&amp;ms-contrast=standard&amp;ms-lang=en-us"
-        /// </summary>
-        [NotificationXmlAttribute("addImageQuery")]
-        public bool? AddImageQuery { get; set; }
-
-        /// <summary>
-        /// A default base URI that is combined with relative URIs in image source attributes.
-        /// </summary>
-        [NotificationXmlAttribute("baseUri")]
-        public Uri BaseUri { get; set; }
-
-        /// <summary>
-        /// The form that the Tile should use to display the app's brand.
-        /// </summary>
-        [NotificationXmlAttribute("branding", DEFAULT_BRANDING)]
-        public TileBranding Branding { get; set; } = DEFAULT_BRANDING;
-
-        /// <summary>
-        /// Set to a sender-defined string that uniquely identifies the content of the notification. This prevents duplicates in the situation where a large Tile template is displaying the last three wide Tile notifications.
-        ///
-        /// Required: NO
-        /// </summary>
-        [NotificationXmlAttribute("contentId")]
-        public string ContentId { get; set; }
-
-        /// <summary>
-        /// An optional string to override the Tile's display name while showing this notification.
-        /// </summary>
-        [NotificationXmlAttribute("displayName")]
-        public string DisplayName { get; set; }
-
-        /// <summary>
-        /// The target locale of the XML payload, specified as a BCP-47 language tags such as "en-US" or "fr-FR". The locale specified here overrides that in visual, but can be overriden by that in text. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string. See Remarks for when this value isn't specified.
-        /// </summary>
-        [NotificationXmlAttribute("lang")]
-        public string Language { get; set; }
-
-        [NotificationXmlAttribute("hint-lockDetailedStatus1")]
-        public string LockDetailedStatus1 { get; set; }
-
-        [NotificationXmlAttribute("hint-lockDetailedStatus2")]
-        public string LockDetailedStatus2 { get; set; }
-
-        [NotificationXmlAttribute("hint-lockDetailedStatus3")]
-        public string LockDetailedStatus3 { get; set; }
-
-        [NotificationXmlAttribute("arguments")]
-        public string Arguments { get; set; }
-
-        /// <summary>
-        /// Throws exception if value is invalid
-        /// </summary>
-        /// <param name="value">Overlay value (0-100)</param>
-        internal static void CheckOverlayValue(int value)
-        {
-            if (value < 0 || value > 100)
-            {
-                throw new ArgumentOutOfRangeException("Overlay must be between 0 and 100, inclusive.");
-            }
-        }
-
-        [NotificationXmlAttribute("hint-presentation")]
-        public TilePresentation? Presentation { get; set; }
-
-        [NotificationXmlAttribute("hint-textStacking", DEFAULT_TEXT_STACKING)]
-        public TileTextStacking TextStacking { get; set; } = DEFAULT_TEXT_STACKING;
-
-        public IList<IElement_TileBindingChild> Children { get; private set; } = new List<IElement_TileBindingChild>();
-
-        /// <summary>
-        /// Generates an enumerable collection of children and all those children's children
-        /// </summary>
-        /// <returns>Enumerable collection of children and all those children's children.</returns>
-        public IEnumerable<object> Descendants()
-        {
-            foreach (IElement_TileBindingChild child in Children)
-            {
-                // Return the child
-                yield return child;
-
-                // And if it has descendants, return the descendants
-                if (child is IElementWithDescendants)
-                {
-                    foreach (object descendant in (child as IElementWithDescendants).Descendants())
-                    {
-                        yield return descendant;
-                    }
-                }
-            }
-        }
-    }
-
-    internal interface IElement_TileBindingChild
-    {
-    }
-}

+ 0 - 47
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/Elements/Element_TileVisual.cs

@@ -1,47 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("visual")]
-    internal sealed class Element_TileVisual
-    {
-        internal const TileBranding DEFAULT_BRANDING = TileBranding.Auto;
-        internal const bool DEFAULT_ADD_IMAGE_QUERY = false;
-
-        [NotificationXmlAttribute("addImageQuery")]
-        public bool? AddImageQuery { get; set; }
-
-        [NotificationXmlAttribute("baseUri")]
-        public Uri BaseUri { get; set; }
-
-        [NotificationXmlAttribute("branding", DEFAULT_BRANDING)]
-        public TileBranding Branding { get; set; } = DEFAULT_BRANDING;
-
-        [NotificationXmlAttribute("contentId")]
-        public string ContentId { get; set; }
-
-        [NotificationXmlAttribute("displayName")]
-        public string DisplayName { get; set; }
-
-        [NotificationXmlAttribute("lang")]
-        public string Language { get; set; }
-
-        [NotificationXmlAttribute("arguments")]
-        public string Arguments { get; set; }
-
-        public IList<Element_TileBinding> Bindings { get; private set; } = new List<Element_TileBinding>();
-    }
-}

+ 0 - 38
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/Elements/TileElementsCommon.cs

@@ -1,38 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal enum TilePresentation
-    {
-        [EnumString("people")]
-        People,
-
-        [EnumString("photos")]
-        Photos,
-
-        [EnumString("contact")]
-        Contact
-    }
-
-    internal enum TileImagePlacement
-    {
-        [EnumString("inline")]
-        Inline,
-
-        [EnumString("background")]
-        Background,
-
-        [EnumString("peek")]
-        Peek
-    }
-}

+ 0 - 22
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/ITileBindingContentAdaptiveChild.cs

@@ -1,22 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Elements that can be direct children of <see cref="TileBindingContentAdaptive"/>, including (<see cref="AdaptiveText"/>, <see cref="AdaptiveImage"/>, and <see cref="AdaptiveGroup"/>).
-    /// </summary>
-    public interface ITileBindingContentAdaptiveChild
-    {
-        // Blank interface simply for compile-enforcing the child types in the list.
-    }
-}

+ 0 - 51
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/SpecialTemplates/TileBindingContentContact.cs

@@ -1,51 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Phone-only. Supported on Small, Medium, and Wide.
-    /// </summary>
-    public sealed class TileBindingContentContact : ITileBindingContent
-    {
-        /// <summary>
-        /// The image to display.
-        /// </summary>
-        public TileBasicImage Image { get; set; }
-
-        /// <summary>
-        /// A line of text that is displayed. Not displayed on Small Tile.
-        /// </summary>
-        public TileBasicText Text { get; set; }
-
-        internal TileTemplateNameV3 GetTemplateName(TileSize size)
-        {
-            return TileSizeToAdaptiveTemplateConverter.Convert(size);
-        }
-
-        internal void PopulateElement(Element_TileBinding binding, TileSize size)
-        {
-            binding.Presentation = TilePresentation.Contact;
-
-            // Small size doesn't display the text, so no reason to include it in the payload
-            if (Text != null && size != TileSize.Small)
-            {
-                binding.Children.Add(Text.ConvertToElement());
-            }
-
-            if (Image != null)
-            {
-                binding.Children.Add(Image.ConvertToElement());
-            }
-        }
-    }
-}

+ 0 - 52
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/SpecialTemplates/TileBindingContentIconic.cs

@@ -1,52 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Supported on Small and Medium. Enables an iconic Tile template, where you can have an icon and badge display next to each other on the Tile, in true classic Windows Phone style. The number next to the icon is achieved through a separate badge notification.
-    /// </summary>
-    public sealed class TileBindingContentIconic : ITileBindingContent
-    {
-        /// <summary>
-        /// At minimum, to support both Desktop and Phone, Small and Medium tiles, provide a square aspect ratio image with a resolution of 200x200, PNG format, with transparency and no color other than white. For more info see: http://blogs.msdn.com/b/tiles_and_toasts/archive/2015/07/31/iconic-tile-template-for-windows-10.aspx
-        /// </summary>
-        public TileBasicImage Icon { get; set; }
-
-        internal TileTemplateNameV3 GetTemplateName(TileSize size)
-        {
-            switch (size)
-            {
-                case TileSize.Small:
-                    return TileTemplateNameV3.TileSquare71x71IconWithBadge;
-
-                case TileSize.Medium:
-                    return TileTemplateNameV3.TileSquare150x150IconWithBadge;
-
-                default:
-                    throw new ArgumentException("The Iconic template is only supported on Small and Medium tiles.");
-            }
-        }
-
-        internal void PopulateElement(Element_TileBinding binding, TileSize size)
-        {
-            if (Icon != null)
-            {
-                var element = Icon.ConvertToElement();
-                element.Id = 1;
-                binding.Children.Add(element);
-            }
-        }
-    }
-}

+ 0 - 43
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/SpecialTemplates/TileBindingContentPeople.cs

@@ -1,43 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// New in 1511: Supported on Medium, Wide, and Large (Desktop and Mobile).
-    /// Previously for RTM: Phone-only. Supported on Medium and Wide.
-    /// </summary>
-    public sealed class TileBindingContentPeople : ITileBindingContent
-    {
-        /// <summary>
-        /// Images that will roll around as circles.
-        /// </summary>
-        public IList<TileBasicImage> Images { get; private set; } = new List<TileBasicImage>();
-
-        internal TileTemplateNameV3 GetTemplateName(TileSize size)
-        {
-            return TileSizeToAdaptiveTemplateConverter.Convert(size);
-        }
-
-        internal void PopulateElement(Element_TileBinding binding, TileSize size)
-        {
-            binding.Presentation = TilePresentation.People;
-
-            foreach (var img in Images)
-            {
-                binding.Children.Add(img.ConvertToElement());
-            }
-        }
-    }
-}

+ 0 - 42
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/SpecialTemplates/TileBindingContentPhotos.cs

@@ -1,42 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Animates through a slideshow of photos. Supported on all sizes.
-    /// </summary>
-    public sealed class TileBindingContentPhotos : ITileBindingContent
-    {
-        /// <summary>
-        /// Up to 12 images can be provided (Mobile will only display up to 9), which will be used for the slideshow. Adding more than 12 will throw an exception.
-        /// </summary>
-        public IList<TileBasicImage> Images { get; private set; } = new LimitedList<TileBasicImage>(12);
-
-        internal TileTemplateNameV3 GetTemplateName(TileSize size)
-        {
-            return TileSizeToAdaptiveTemplateConverter.Convert(size);
-        }
-
-        internal void PopulateElement(Element_TileBinding binding, TileSize size)
-        {
-            binding.Presentation = TilePresentation.Photos;
-
-            foreach (var img in Images)
-            {
-                binding.Children.Add(img.ConvertToElement());
-            }
-        }
-    }
-}

+ 0 - 98
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBackgroundImage.cs

@@ -1,98 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A full-bleed background image that appears beneath the Tile content.
-    /// </summary>
-    public sealed class TileBackgroundImage : IBaseImage
-    {
-        private string _source;
-
-        /// <summary>
-        /// The URI of the image. Can be from your application package, application data, or the internet. Internet images must be less than 200 KB in size.
-        /// </summary>
-        public string Source
-        {
-            get { return _source; }
-            set { BaseImageHelper.SetSource(ref _source, value); }
-        }
-
-        /// <summary>
-        /// A description of the image, for users of assistive technologies.
-        /// </summary>
-        public string AlternateText { get; set; }
-
-        /// <summary>
-        /// Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language.
-        /// </summary>
-        public bool? AddImageQuery { get; set; }
-
-        private int? _hintOverlay;
-
-        /// <summary>
-        /// A black overlay on the background image. This value controls the opacity of the black overlay, with 0 being no overlay and 100 being completely black. Defaults to 20.
-        /// </summary>
-        public int? HintOverlay
-        {
-            get
-            {
-                return _hintOverlay;
-            }
-
-            set
-            {
-                if (value != null)
-                {
-                    Element_TileBinding.CheckOverlayValue(value.Value);
-                }
-
-                _hintOverlay = value;
-            }
-        }
-
-        /// <summary>
-        /// New in 1511: Control the desired cropping of the image.
-        /// Previously for RTM: Did not exist, value will be ignored and background image will be displayed without any cropping.
-        /// </summary>
-        public TileBackgroundImageCrop HintCrop { get; set; }
-
-        internal Element_AdaptiveImage ConvertToElement()
-        {
-            Element_AdaptiveImage image = BaseImageHelper.CreateBaseElement(this);
-
-            image.Placement = AdaptiveImagePlacement.Background;
-            image.Crop = GetAdaptiveImageCrop();
-            image.Overlay = HintOverlay;
-
-            return image;
-        }
-
-        private AdaptiveImageCrop GetAdaptiveImageCrop()
-        {
-            switch (HintCrop)
-            {
-                case TileBackgroundImageCrop.Circle:
-                    return AdaptiveImageCrop.Circle;
-
-                case TileBackgroundImageCrop.None:
-                    return AdaptiveImageCrop.None;
-
-                default:
-                    return AdaptiveImageCrop.Default;
-            }
-        }
-    }
-}

+ 0 - 50
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBasicImage.cs

@@ -1,50 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// An image used on various special templates for the Tile.
-    /// </summary>
-    public sealed class TileBasicImage : IBaseImage
-    {
-        private string _source;
-
-        /// <summary>
-        /// The URI of the image. Can be from your application package, application data, or the internet. Internet images must be less than 200 KB in size.
-        /// </summary>
-        public string Source
-        {
-            get { return _source; }
-            set { BaseImageHelper.SetSource(ref _source, value); }
-        }
-
-        /// <summary>
-        /// A description of the image, for users of assistive technologies.
-        /// </summary>
-        public string AlternateText { get; set; }
-
-        /// <summary>
-        /// Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language.
-        /// </summary>
-        public bool? AddImageQuery { get; set; }
-
-        internal Element_AdaptiveImage ConvertToElement()
-        {
-            Element_AdaptiveImage image = BaseImageHelper.CreateBaseElement(this);
-
-            return image;
-        }
-    }
-}

+ 0 - 50
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBasicText.cs

@@ -1,50 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A text element on the Tile.
-    /// </summary>
-    public sealed class TileBasicText
-    {
-        /// <summary>
-        /// The text value that will be shown in the text field.
-        /// </summary>
-        public string Text { get; set; }
-
-        /// <summary>
-        /// The target locale of the XML payload, specified as a BCP-47 language tags such as "en-US" or "fr-FR". The locale specified here overrides any other specified locale, such as that in binding or visual. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string.
-        /// </summary>
-        public string Lang { get; set; }
-
-        internal Element_AdaptiveText ConvertToElement()
-        {
-            return new Element_AdaptiveText()
-            {
-                Text = Text,
-                Lang = Lang
-            };
-        }
-
-        /// <summary>
-        /// Returns the Text property's value.
-        /// </summary>
-        /// <returns>The Text property's value.</returns>
-        public override string ToString()
-        {
-            return Text;
-        }
-    }
-}

+ 0 - 173
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBinding.cs

@@ -1,173 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// The binding element contains the visual content for a specific Tile size.
-    /// </summary>
-    public sealed class TileBinding
-    {
-        /// <summary>
-        /// The target locale of the XML payload, specified as a BCP-47 language tags such as "en-US" or "fr-FR". The locale specified here overrides that in visual, but can be overriden by that in text. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string. See Remarks for when this value isn't specified.
-        /// </summary>
-        public string Language { get; set; }
-
-        /// <summary>
-        /// A default base URI that is combined with relative URIs in image source attributes. Defaults to null.
-        /// </summary>
-        public Uri BaseUri { get; set; }
-
-        /// <summary>
-        /// The form that the Tile should use to display the app's brand..
-        /// </summary>
-        public TileBranding Branding { get; set; } = Element_TileBinding.DEFAULT_BRANDING;
-
-        /// <summary>
-        /// Defaults to false. Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language; for instance, a value of
-        ///
-        /// "www.website.com/images/hello.png"
-        ///
-        /// included in the notification becomes
-        ///
-        /// "www.website.com/images/hello.png?ms-scale=100&amp;ms-contrast=standard&amp;ms-lang=en-us"
-        /// </summary>
-        public bool? AddImageQuery { get; set; }
-
-        /// <summary>
-        /// Set to a sender-defined string that uniquely identifies the content of the notification. This prevents duplicates in the situation where a large Tile template is displaying the last three wide Tile notifications.
-        /// </summary>
-        public string ContentId { get; set; }
-
-        /// <summary>
-        /// An optional string to override the Tile's display name while showing this notification.
-        /// </summary>
-        public string DisplayName { get; set; }
-
-        /// <summary>
-        /// New in Anniversary Update: App-defined data that is passed back to your app via the TileActivatedInfo property on LaunchActivatedEventArgs when the user launches your app from the Live Tile. This allows you to know which Tile notifications your user saw when they tapped your Live Tile. On devices without the Anniversary Update, this will simply be ignored.
-        /// </summary>
-        public string Arguments { get; set; }
-
-        /// <summary>
-        /// The actual content to be displayed. One of <see cref="TileBindingContentAdaptive"/>, <see cref="TileBindingContentIconic"/>, <see cref="TileBindingContentContact"/>, <see cref="TileBindingContentPeople"/>, or <see cref="TileBindingContentPhotos"/>
-        /// </summary>
-        public ITileBindingContent Content { get; set; }
-
-        internal Element_TileBinding ConvertToElement(TileSize size)
-        {
-            TileTemplateNameV3 templateName = GetTemplateName(Content, size);
-
-            Element_TileBinding binding = new Element_TileBinding(templateName)
-            {
-                Language = Language,
-                BaseUri = BaseUri,
-                Branding = Branding,
-                AddImageQuery = AddImageQuery,
-                DisplayName = DisplayName,
-                ContentId = ContentId,
-                Arguments = Arguments
-
-                // LockDetailedStatus gets populated by TileVisual
-            };
-
-            PopulateElement(Content, binding, size);
-
-            return binding;
-        }
-
-        private static void PopulateElement(ITileBindingContent bindingContent, Element_TileBinding binding, TileSize size)
-        {
-            if (bindingContent == null)
-            {
-                return;
-            }
-
-            if (bindingContent is TileBindingContentAdaptive)
-            {
-                (bindingContent as TileBindingContentAdaptive).PopulateElement(binding, size);
-            }
-            else if (bindingContent is TileBindingContentContact)
-            {
-                (bindingContent as TileBindingContentContact).PopulateElement(binding, size);
-            }
-            else if (bindingContent is TileBindingContentIconic)
-            {
-                (bindingContent as TileBindingContentIconic).PopulateElement(binding, size);
-            }
-            else if (bindingContent is TileBindingContentPeople)
-            {
-                (bindingContent as TileBindingContentPeople).PopulateElement(binding, size);
-            }
-            else if (bindingContent is TileBindingContentPhotos)
-            {
-                (bindingContent as TileBindingContentPhotos).PopulateElement(binding, size);
-            }
-            else
-            {
-                throw new NotImplementedException("Unknown binding content type: " + bindingContent.GetType());
-            }
-        }
-
-        private static TileTemplateNameV3 GetTemplateName(ITileBindingContent bindingContent, TileSize size)
-        {
-            if (bindingContent == null)
-            {
-                return TileSizeToAdaptiveTemplateConverter.Convert(size);
-            }
-
-            if (bindingContent is TileBindingContentAdaptive)
-            {
-                return (bindingContent as TileBindingContentAdaptive).GetTemplateName(size);
-            }
-
-            if (bindingContent is TileBindingContentContact)
-            {
-                return (bindingContent as TileBindingContentContact).GetTemplateName(size);
-            }
-
-            if (bindingContent is TileBindingContentIconic)
-            {
-                return (bindingContent as TileBindingContentIconic).GetTemplateName(size);
-            }
-
-            if (bindingContent is TileBindingContentPeople)
-            {
-                return (bindingContent as TileBindingContentPeople).GetTemplateName(size);
-            }
-
-            if (bindingContent is TileBindingContentPhotos)
-            {
-                return (bindingContent as TileBindingContentPhotos).GetTemplateName(size);
-            }
-
-            throw new NotImplementedException("Unknown binding content type: " + bindingContent.GetType());
-        }
-    }
-
-    /// <summary>
-    /// Visual Tile content. One of <see cref="TileBindingContentAdaptive"/>, <see cref="TileBindingContentIconic"/>, <see cref="TileBindingContentPhotos"/>, <see cref="TileBindingContentPeople"/>, or <see cref="TileBindingContentContact"/>.
-    /// </summary>
-    public interface ITileBindingContent
-    {
-    }
-
-    internal enum TileTemplate
-    {
-        TileSmall,
-        TileMedium,
-        TileWide,
-        TileLarge
-    }
-}

+ 0 - 80
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBindingContentAdaptive.cs

@@ -1,80 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System.Collections.Generic;
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Supported on all sizes. This is the recommended way of specifying your Tile content. Adaptive Tile templates are the de-facto choice for Windows 10, and you can create a wide variety of custom Tiles through adaptive.
-    /// </summary>
-    public sealed class TileBindingContentAdaptive : ITileBindingContent
-    {
-        /// <summary>
-        /// <see cref="AdaptiveText"/>, <see cref="AdaptiveImage"/>, and <see cref="AdaptiveGroup"/> objects can be added as children. The children are displayed in a vertical StackPanel fashion.
-        /// </summary>
-        public IList<ITileBindingContentAdaptiveChild> Children { get; private set; } = new List<ITileBindingContentAdaptiveChild>();
-
-        /// <summary>
-        /// An optional background image that gets displayed behind all the Tile content, full bleed.
-        /// </summary>
-        public TileBackgroundImage BackgroundImage { get; set; }
-
-        /// <summary>
-        /// An optional peek image that animates in from the top of the Tile.
-        /// </summary>
-        public TilePeekImage PeekImage { get; set; }
-
-        /// <summary>
-        /// Controls the text stacking (vertical alignment) of the entire binding element.
-        /// </summary>
-        public TileTextStacking TextStacking { get; set; } = Element_TileBinding.DEFAULT_TEXT_STACKING;
-
-        internal TileTemplateNameV3 GetTemplateName(TileSize size)
-        {
-            return TileSizeToAdaptiveTemplateConverter.Convert(size);
-        }
-
-        internal void PopulateElement(Element_TileBinding binding, TileSize size)
-        {
-            // Assign properties
-            binding.TextStacking = TextStacking;
-
-            // Add the background image if there's one
-            if (BackgroundImage != null)
-            {
-                // And add it as a child
-                binding.Children.Add(BackgroundImage.ConvertToElement());
-            }
-
-            // Add the peek image if there's one
-            if (PeekImage != null)
-            {
-                var el = PeekImage.ConvertToElement();
-
-                binding.Children.Add(el);
-            }
-
-            // And then add all the children
-            foreach (var child in Children)
-            {
-                binding.Children.Add(ConvertToBindingChildElement(child));
-            }
-        }
-
-        private static IElement_TileBindingChild ConvertToBindingChildElement(ITileBindingContentAdaptiveChild child)
-        {
-            return (IElement_TileBindingChild)AdaptiveHelper.ConvertToElement(child);
-        }
-    }
-}

+ 0 - 49
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileBranding.cs

@@ -1,49 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// The form that the Tile should use to display the app's brand.
-    /// </summary>
-    public enum TileBranding
-    {
-        /// <summary>
-        /// The default choice. If ShowNameOn___ is true for the Tile size being displayed, then branding will be "Name". Otherwise it will be "None".
-        /// </summary>
-        Auto,
-
-        /// <summary>
-        /// No branding will be displayed.
-        /// </summary>
-        [EnumString("none")]
-        None,
-
-        /// <summary>
-        /// The DisplayName will be shown.
-        /// </summary>
-        [EnumString("name")]
-        Name,
-
-        /// <summary>
-        /// Desktop-only. The Square44x44Logo will be shown. On Mobile, this will fallback to Name.
-        /// </summary>
-        [EnumString("logo")]
-        Logo,
-
-        /// <summary>
-        /// Desktop-only. Both the DisplayName and Square44x44Logo will be shown. On Mobile, this will fallback to Name.
-        /// </summary>
-        [EnumString("nameAndLogo")]
-        NameAndLogo
-    }
-}

+ 0 - 22
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileCommon.cs

@@ -1,22 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal enum TileSize
-    {
-        Small,
-        Medium,
-        Wide,
-        Large
-    }
-}

+ 0 - 65
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileContent.cs

@@ -1,65 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-#if WINDOWS_UWP
-using Windows.Data.Xml.Dom;
-using Windows.UI.Notifications;
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Base Tile element, which contains a single visual element.
-    /// </summary>
-    public sealed class TileContent
-    {
-        /// <summary>
-        /// The visual element is required.
-        /// </summary>
-        public TileVisual Visual { get; set; }
-
-        /// <summary>
-        /// Retrieves the notification XML content as a string, so that it can be sent with a HTTP POST in a push notification.
-        /// </summary>
-        /// <returns>The notification XML content as a string.</returns>
-        public string GetContent()
-        {
-            return ConvertToElement().GetContent();
-        }
-
-#if WINDOWS_UWP
-        /// <summary>
-        /// Retrieves the notification XML content as a WinRT XmlDocument, so that it can be used with a local Tile notification's constructor on either <see cref="TileNotification"/> or <see cref="ScheduledTileNotification"/>.
-        /// </summary>
-        /// <returns>The notification XML content as a WinRT XmlDocument.</returns>
-        public XmlDocument GetXml()
-        {
-            XmlDocument doc = new XmlDocument();
-            doc.LoadXml(GetContent());
-
-            return doc;
-        }
-#endif
-
-        internal Element_Tile ConvertToElement()
-        {
-            var tile = new Element_Tile();
-
-            if (Visual != null)
-            {
-                tile.Visual = Visual.ConvertToElement();
-            }
-
-            return tile;
-        }
-    }
-}

+ 0 - 60
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileImages.cs

@@ -1,60 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Specify the desired cropping of the image.
-    /// </summary>
-    public enum TileBackgroundImageCrop
-    {
-        /// <summary>
-        /// Cropping style automatically determined by renderer.
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// Default value. Image is not cropped.
-        /// </summary>
-        [EnumString("none")]
-        None,
-
-        /// <summary>
-        /// Image is cropped to a circle shape.
-        /// </summary>
-        [EnumString("circle")]
-        Circle
-    }
-
-    /// <summary>
-    /// Specify the desired cropping of the image.
-    /// </summary>
-    public enum TilePeekImageCrop
-    {
-        /// <summary>
-        /// Cropping style automatically determined by renderer.
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// Default value. Image is not cropped.
-        /// </summary>
-        [EnumString("none")]
-        None,
-
-        /// <summary>
-        /// Image is cropped to a circle shape.
-        /// </summary>
-        [EnumString("circle")]
-        Circle
-    }
-}

+ 0 - 99
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TilePeekImage.cs

@@ -1,99 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A peek image that animates in from the top of the Tile.
-    /// </summary>
-    public sealed class TilePeekImage : IBaseImage
-    {
-        private string _source;
-
-        /// <summary>
-        /// The URI of the image. Can be from your application package, application data, or the internet. Internet images must be less than 200 KB in size.
-        /// </summary>
-        public string Source
-        {
-            get { return _source; }
-            set { BaseImageHelper.SetSource(ref _source, value); }
-        }
-
-        /// <summary>
-        /// A description of the image, for users of assistive technologies.
-        /// </summary>
-        public string AlternateText { get; set; }
-
-        /// <summary>
-        /// Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language.
-        /// </summary>
-        public bool? AddImageQuery { get; set; }
-
-        private int? _hintOverlay;
-
-        /// <summary>
-        /// New in 1511: A black overlay on the peek image. This value controls the opacity of the black overlay, with 0 being no overlay and 100 being completely black. Defaults to 0.
-        /// Previously for RTM: Did not exist, value will be ignored and peek image will be displayed with 0 overlay.
-        /// </summary>
-        public int? HintOverlay
-        {
-            get
-            {
-                return _hintOverlay;
-            }
-
-            set
-            {
-                if (value != null)
-                {
-                    Element_TileBinding.CheckOverlayValue(value.Value);
-                }
-
-                _hintOverlay = value;
-            }
-        }
-
-        /// <summary>
-        /// New in 1511: Control the desired cropping of the image.
-        /// Previously for RTM: Did not exist, value will be ignored and peek image will be displayed without any cropping.
-        /// </summary>
-        public TilePeekImageCrop HintCrop { get; set; }
-
-        internal Element_AdaptiveImage ConvertToElement()
-        {
-            Element_AdaptiveImage image = BaseImageHelper.CreateBaseElement(this);
-
-            image.Placement = AdaptiveImagePlacement.Peek;
-            image.Crop = GetAdaptiveImageCrop();
-            image.Overlay = HintOverlay;
-
-            return image;
-        }
-
-        private AdaptiveImageCrop GetAdaptiveImageCrop()
-        {
-            switch (HintCrop)
-            {
-                case TilePeekImageCrop.Circle:
-                    return AdaptiveImageCrop.Circle;
-
-                case TilePeekImageCrop.None:
-                    return AdaptiveImageCrop.None;
-
-                default:
-                    return AdaptiveImageCrop.Default;
-            }
-        }
-    }
-}

+ 0 - 40
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileSizeToAdaptiveTemplateConverter.cs

@@ -1,40 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal static class TileSizeToAdaptiveTemplateConverter
-    {
-        public static TileTemplateNameV3 Convert(TileSize size)
-        {
-            switch (size)
-            {
-                case TileSize.Small:
-                    return TileTemplateNameV3.TileSmall;
-
-                case TileSize.Medium:
-                    return TileTemplateNameV3.TileMedium;
-
-                case TileSize.Wide:
-                    return TileTemplateNameV3.TileWide;
-
-                case TileSize.Large:
-                    return TileTemplateNameV3.TileLarge;
-
-                default:
-                    throw new NotImplementedException();
-            }
-        }
-    }
-}

+ 0 - 100
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileTemplateNameV3.cs

@@ -1,100 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal enum TileTemplateNameV3
-    {
-        TileMedium,
-        TileSmall,
-        TileWide,
-        TileLarge,
-
-        TileSquare150x150Block,
-        TileSquare150x150Image,
-        TileSquare150x150PeekImageAndText01,
-        TileSquare150x150PeekImageAndText02,
-        TileSquare150x150PeekImageAndText03,
-        TileSquare150x150PeekImageAndText04,
-        TileSquare150x150Text01,
-        TileSquare150x150Text02,
-        TileSquare150x150Text03,
-        TileSquare150x150Text04,
-        TileSquare310x310BlockAndText01,
-        TileSquare310x310BlockAndText02,
-        TileSquare310x310Image,
-        TileSquare310x310ImageAndText01,
-        TileSquare310x310ImageAndText02,
-        TileSquare310x310ImageAndTextOverlay01,
-        TileSquare310x310ImageAndTextOverlay02,
-        TileSquare310x310ImageAndTextOverlay03,
-        TileSquare310x310ImageCollection,
-        TileSquare310x310ImageCollectionAndText01,
-        TileSquare310x310ImageCollectionAndText02,
-        TileSquare310x310SmallImagesAndTextList01,
-        TileSquare310x310SmallImagesAndTextList02,
-        TileSquare310x310SmallImagesAndTextList03,
-        TileSquare310x310SmallImagesAndTextList04,
-        TileSquare310x310Text01,
-        TileSquare310x310Text02,
-        TileSquare310x310Text03,
-        TileSquare310x310Text04,
-        TileSquare310x310Text05,
-        TileSquare310x310Text06,
-        TileSquare310x310Text07,
-        TileSquare310x310Text08,
-        TileSquare310x310TextList01,
-        TileSquare310x310TextList02,
-        TileSquare310x310TextList03,
-        TileWide310x150BlockAndText01,
-        TileWide310x150BlockAndText02,
-        TileWide310x150Image,
-        TileWide310x150ImageAndText01,
-        TileWide310x150ImageAndText02,
-        TileWide310x150ImageCollection,
-        TileWide310x150PeekImage01,
-        TileWide310x150PeekImage02,
-        TileWide310x150PeekImage03,
-        TileWide310x150PeekImage04,
-        TileWide310x150PeekImage05,
-        TileWide310x150PeekImage06,
-        TileWide310x150PeekImageAndText01,
-        TileWide310x150PeekImageAndText02,
-        TileWide310x150PeekImageCollection01,
-        TileWide310x150PeekImageCollection02,
-        TileWide310x150PeekImageCollection03,
-        TileWide310x150PeekImageCollection04,
-        TileWide310x150PeekImageCollection05,
-        TileWide310x150PeekImageCollection06,
-        TileWide310x150SmallImageAndText01,
-        TileWide310x150SmallImageAndText02,
-        TileWide310x150SmallImageAndText03,
-        TileWide310x150SmallImageAndText04,
-        TileWide310x150SmallImageAndText05,
-        TileWide310x150Text01,
-        TileWide310x150Text02,
-        TileWide310x150Text03,
-        TileWide310x150Text04,
-        TileWide310x150Text05,
-        TileWide310x150Text06,
-        TileWide310x150Text07,
-        TileWide310x150Text08,
-        TileWide310x150Text09,
-        TileWide310x150Text10,
-        TileWide310x150Text11,
-
-        TileSquare71x71Image,
-        TileSquare71x71IconWithBadge,
-        TileSquare150x150IconWithBadge,
-        TileWide310x150IconWithBadgeAndText
-    }
-}

+ 0 - 38
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileTextStacking.cs

@@ -1,38 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// TextStacking specifies the vertical alignment of content.
-    /// </summary>
-    public enum TileTextStacking
-    {
-        /// <summary>
-        /// Vertical align to the top.
-        /// </summary>
-        [EnumString("top")]
-        Top,
-
-        /// <summary>
-        /// Vertical align to the center.
-        /// </summary>
-        [EnumString("center")]
-        Center,
-
-        /// <summary>
-        /// Vertical align to the bottom.
-        /// </summary>
-        [EnumString("bottom")]
-        Bottom
-    }
-}

+ 0 - 224
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Tiles/TileVisual.cs

@@ -1,224 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Linq;
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Contains multiple binding child elements, each of which defines a Tile.
-    /// </summary>
-    public sealed class TileVisual
-    {
-        /// <summary>
-        /// The target locale of the XML payload, specified as a BCP-47 language tags such as "en-US" or "fr-FR". This locale is overridden by any locale specified in binding or text. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string.
-        /// </summary>
-        public string Language { get; set; }
-
-        /// <summary>
-        /// A default base URI that is combined with relative URIs in image source attributes.
-        /// </summary>
-        public Uri BaseUri { get; set; }
-
-        /// <summary>
-        /// The form that the Tile should use to display the app's brand.
-        /// </summary>
-        public TileBranding Branding { get; set; } = Element_TileVisual.DEFAULT_BRANDING;
-
-        /// <summary>
-        /// Defaults to false. Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language; for instance, a value of
-        ///
-        /// "www.website.com/images/hello.png"
-        ///
-        /// included in the notification becomes
-        ///
-        /// "www.website.com/images/hello.png?ms-scale=100&amp;ms-contrast=standard&amp;ms-lang=en-us"
-        /// </summary>
-        public bool? AddImageQuery { get; set; }
-
-        /// <summary>
-        /// Set to a sender-defined string that uniquely identifies the content of the notification. This prevents duplicates in the situation where a large Tile template is displaying the last three wide Tile notifications.
-        /// </summary>
-        public string ContentId { get; set; }
-
-        /// <summary>
-        /// An optional string to override the Tile's display name while showing this notification.
-        /// </summary>
-        public string DisplayName { get; set; }
-
-        /// <summary>
-        /// If you specify this, you must also provide a Wide Tile binding. This is the first line of text that will be displayed on the lock screen if the user has selected your Tile as their detailed status app.
-        /// </summary>
-        public string LockDetailedStatus1 { get; set; }
-
-        /// <summary>
-        /// If you specify this, you must also provide a Wide Tile binding. This is the second line of text that will be displayed on the lock screen if the user has selected your Tile as their detailed status app.
-        /// </summary>
-        public string LockDetailedStatus2 { get; set; }
-
-        /// <summary>
-        /// If you specify this, you must also provide a Wide Tile binding. This is the third line of text that will be displayed on the lock screen if the user has selected your Tile as their detailed status app.
-        /// </summary>
-        public string LockDetailedStatus3 { get; set; }
-
-        /// <summary>
-        /// New in Anniversary Update: App-defined data that is passed back to your app via the TileActivatedInfo property on LaunchActivatedEventArgs when the user launches your app from the Live Tile. This allows you to know which Tile notifications your user saw when they tapped your Live Tile. On devices without the Anniversary Update, this will simply be ignored.
-        /// </summary>
-        public string Arguments { get; set; }
-
-        /// <summary>
-        /// Provide an optional small binding to specify content for the small Tile size.
-        /// </summary>
-        public TileBinding TileSmall { get; set; }
-
-        /// <summary>
-        /// Provide an optional medium binding to specify content for the medium Tile size.
-        /// </summary>
-        public TileBinding TileMedium { get; set; }
-
-        /// <summary>
-        /// Provide an optional wide binding to specify content for the wide Tile size.
-        /// </summary>
-        public TileBinding TileWide { get; set; }
-
-        /// <summary>
-        /// Desktop-only. Provide an optional large binding to specify content for the large Tile size.
-        /// </summary>
-        public TileBinding TileLarge { get; set; }
-
-        /// <summary>
-        /// Attempts to find and re-use an existing text element inside the binding. Returns true if it could. Otherwise returns false, and the caller will have to specify the detailed status using the lock hint attribute.
-        /// </summary>
-        /// <param name="lineNumber">The lock screen line number.</param>
-        /// <param name="lockText">The lock screen line text.</param>
-        /// <param name="binding">The binding to look in for matches.</param>
-        /// <returns>True if could re-use existing text element, otherwise false.</returns>
-        private static bool TryReuseTextElementForLockDetailedText(int lineNumber, string lockText, Element_TileBinding binding)
-        {
-            if (lockText == null)
-            {
-                throw new ArgumentNullException("lockText cannot be null");
-            }
-
-            if (binding == null)
-            {
-                throw new ArgumentNullException("binding cannot be null");
-            }
-
-            // If a text element already has an id with the line number (only look at immediate children, since the lockscreen will ignore things under groups/subgroups)
-            Element_AdaptiveText matchingIdTextElement = binding.Children.OfType<Element_AdaptiveText>().FirstOrDefault(i => i.Id != null && i.Id.Equals(lineNumber.ToString()));
-
-            if (matchingIdTextElement != null)
-            {
-                // If the text in the element matches the lock text, then we're good, don't need to assign anything else!
-                if (matchingIdTextElement.Text != null && matchingIdTextElement.Text.Equals(lockText))
-                {
-                    return true;
-                }
-
-                // Otherwise, we need to specify the lock text in the hint attribute, so we return false
-                return false;
-            }
-
-            // Otherwise no text elements use that ID, so we could assign one if we find a text element that doesn't have an ID assigned and matches the lock text
-            Element_AdaptiveText matchingTextTextElement = binding.Children.OfType<Element_AdaptiveText>().FirstOrDefault(i => i.Id == null && i.Text != null && i.Text.Equals(lockText));
-
-            // If we found text that matched, we'll assign the id so it gets re-used for lock!
-            if (matchingTextTextElement != null)
-            {
-                matchingTextTextElement.Id = lineNumber;
-                return true;
-            }
-
-            // Otherwise we'll need to specify lock text in hint attribute, so return false
-            return false;
-        }
-
-        internal Element_TileVisual ConvertToElement()
-        {
-            var visual = new Element_TileVisual()
-            {
-                Language = Language,
-                BaseUri = BaseUri,
-                Branding = Branding,
-                AddImageQuery = AddImageQuery,
-                ContentId = ContentId,
-                DisplayName = DisplayName,
-                Arguments = Arguments
-            };
-
-            if (TileSmall != null)
-            {
-                visual.Bindings.Add(TileSmall.ConvertToElement(TileSize.Small));
-            }
-
-            if (TileMedium != null)
-            {
-                visual.Bindings.Add(TileMedium.ConvertToElement(TileSize.Medium));
-            }
-
-            if (TileWide != null)
-            {
-                Element_TileBinding wideBindingElement = TileWide.ConvertToElement(TileSize.Wide);
-
-                // If lock detailed status was specified, add them
-                if (LockDetailedStatus1 != null)
-                {
-                    // If we can't reuse existing text element, we'll have to use the hints
-                    if (!TryReuseTextElementForLockDetailedText(1, LockDetailedStatus1, wideBindingElement))
-                    {
-                        wideBindingElement.LockDetailedStatus1 = LockDetailedStatus1;
-                    }
-                }
-
-                if (LockDetailedStatus2 != null)
-                {
-                    if (!TryReuseTextElementForLockDetailedText(2, LockDetailedStatus2, wideBindingElement))
-                    {
-                        wideBindingElement.LockDetailedStatus2 = LockDetailedStatus2;
-                    }
-                }
-
-                if (LockDetailedStatus3 != null)
-                {
-                    if (!TryReuseTextElementForLockDetailedText(3, LockDetailedStatus3, wideBindingElement))
-                    {
-                        wideBindingElement.LockDetailedStatus3 = LockDetailedStatus3;
-                    }
-                }
-
-                visual.Bindings.Add(wideBindingElement);
-            }
-
-            // Otherwise if they specified lock values, throw an exception since lock values require wide
-            else if (HasLockDetailedStatusValues())
-            {
-                throw new Exception("To provide lock detailed status text strings, you must also provide a TileWide binding. Either provide a TileWide binding, or leave the detailed status values null.");
-            }
-
-            if (TileLarge != null)
-            {
-                visual.Bindings.Add(TileLarge.ConvertToElement(TileSize.Large));
-            }
-
-            // TODO: If a BaseUri wasn't provided, we can potentially optimize the payload size by calculating the best BaseUri
-            return visual;
-        }
-
-        private bool HasLockDetailedStatusValues()
-        {
-            return LockDetailedStatus1 != null && LockDetailedStatus2 != null && LockDetailedStatus3 != null;
-        }
-    }
-}

+ 0 - 131
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_Toast.cs

@@ -1,131 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("toast")]
-    internal sealed class Element_Toast : BaseElement, IElement_ToastActivatable
-    {
-        internal const ToastScenario DEFAULT_SCENARIO = ToastScenario.Default;
-        internal const Element_ToastActivationType DEFAULT_ACTIVATION_TYPE = Element_ToastActivationType.Foreground;
-        internal const ToastDuration DEFAULT_DURATION = ToastDuration.Short;
-
-        [NotificationXmlAttribute("activationType", DEFAULT_ACTIVATION_TYPE)]
-        public Element_ToastActivationType ActivationType { get; set; } = DEFAULT_ACTIVATION_TYPE;
-
-        [NotificationXmlAttribute("protocolActivationTargetApplicationPfn")]
-        public string ProtocolActivationTargetApplicationPfn { get; set; }
-
-        [NotificationXmlAttribute("afterActivationBehavior", ToastAfterActivationBehavior.Default)]
-        public ToastAfterActivationBehavior AfterActivationBehavior
-        {
-            get
-            {
-                return ToastAfterActivationBehavior.Default;
-            }
-
-            set
-            {
-                if (value != ToastAfterActivationBehavior.Default)
-                {
-                    throw new InvalidOperationException("AfterActivationBehavior on ToastContent only supports the Default value.");
-                }
-            }
-        }
-
-        [NotificationXmlAttribute("duration", DEFAULT_DURATION)]
-        public ToastDuration Duration { get; set; } = DEFAULT_DURATION;
-
-        [NotificationXmlAttribute("launch")]
-        public string Launch { get; set; }
-
-        [NotificationXmlAttribute("scenario", DEFAULT_SCENARIO)]
-        public ToastScenario Scenario { get; set; } = DEFAULT_SCENARIO;
-
-        [NotificationXmlAttribute("displayTimestamp")]
-        public DateTimeOffset? DisplayTimestamp { get; set; }
-
-        public Element_ToastVisual Visual { get; set; }
-
-        public Element_ToastAudio Audio { get; set; }
-
-        public Element_ToastActions Actions { get; set; }
-
-        public Element_ToastHeader Header { get; set; }
-
-        public static Element_ToastActivationType ConvertActivationType(ToastActivationType publicType)
-        {
-            switch (publicType)
-            {
-                case ToastActivationType.Foreground:
-                    return Element_ToastActivationType.Foreground;
-
-                case ToastActivationType.Background:
-                    return Element_ToastActivationType.Background;
-
-                case ToastActivationType.Protocol:
-                    return Element_ToastActivationType.Protocol;
-
-                default:
-                    throw new NotImplementedException();
-            }
-        }
-    }
-
-    /// <summary>
-    /// The amount of time the Toast should display.
-    /// </summary>
-    public enum ToastDuration
-    {
-        /// <summary>
-        /// Default value. Toast appears for a short while and then goes into Action Center.
-        /// </summary>
-        Short,
-
-        /// <summary>
-        /// Toast stays on-screen for longer, and then goes into Action Center.
-        /// </summary>
-        [EnumString("long")]
-        Long
-    }
-
-    /// <summary>
-    /// Specifies the scenario, controlling behaviors about the Toast.
-    /// </summary>
-    public enum ToastScenario
-    {
-        /// <summary>
-        /// The normal Toast behavior. The Toast appears for a short duration, and then automatically dismisses into Action Center.
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// Causes the Toast to stay on-screen and expanded until the user takes action. Also causes a looping alarm sound to be selected by default.
-        /// </summary>
-        [EnumString("alarm")]
-        Alarm,
-
-        /// <summary>
-        /// Causes the Toast to stay on-screen and expanded until the user takes action.
-        /// </summary>
-        [EnumString("reminder")]
-        Reminder,
-
-        /// <summary>
-        /// Causes the Toast to stay on-screen and expanded until the user takes action (on Mobile this expands to full screen). Also causes a looping incoming call sound to be selected by default.
-        /// </summary>
-        [EnumString("incomingCall")]
-        IncomingCall
-    }
-}

+ 0 - 92
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastAction.cs

@@ -1,92 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("action")]
-    internal sealed class Element_ToastAction : IElement_ToastActionsChild, IElement_ToastActivatable
-    {
-        internal const Element_ToastActivationType DEFAULT_ACTIVATION_TYPE = Element_ToastActivationType.Foreground;
-        internal const ToastAfterActivationBehavior DEFAULT_AFTER_ACTIVATION_BEHAVIOR = ToastAfterActivationBehavior.Default;
-        internal const Element_ToastActionPlacement DEFAULT_PLACEMENT = Element_ToastActionPlacement.Inline;
-
-        /// <summary>
-        /// The text to be displayed on the button.
-        /// </summary>
-        [NotificationXmlAttribute("content")]
-        public string Content { get; set; }
-
-        /// <summary>
-        /// The arguments attribute describes the app-defined data that the app can later retrieve once it is activated from user taking this action.
-        /// </summary>
-        [NotificationXmlAttribute("arguments")]
-        public string Arguments { get; set; }
-
-        [NotificationXmlAttribute("activationType", DEFAULT_ACTIVATION_TYPE)]
-        public Element_ToastActivationType ActivationType { get; set; } = DEFAULT_ACTIVATION_TYPE;
-
-        [NotificationXmlAttribute("protocolActivationTargetApplicationPfn")]
-        public string ProtocolActivationTargetApplicationPfn { get; set; }
-
-        [NotificationXmlAttribute("afterActivationBehavior", DEFAULT_AFTER_ACTIVATION_BEHAVIOR)]
-        public ToastAfterActivationBehavior AfterActivationBehavior { get; set; } = DEFAULT_AFTER_ACTIVATION_BEHAVIOR;
-
-        /// <summary>
-        /// imageUri is optional and is used to provide an image icon for this action to display inside the button alone with the text content.
-        /// </summary>
-        [NotificationXmlAttribute("imageUri")]
-        public string ImageUri { get; set; }
-
-        /// <summary>
-        /// This is specifically used for the quick reply scenario.
-        /// </summary>
-        [NotificationXmlAttribute("hint-inputId")]
-        public string InputId { get; set; }
-
-        [NotificationXmlAttribute("placement", DEFAULT_PLACEMENT)]
-        public Element_ToastActionPlacement Placement { get; set; } = DEFAULT_PLACEMENT;
-    }
-
-    internal enum Element_ToastActionPlacement
-    {
-        Inline,
-
-        [EnumString("contextMenu")]
-        ContextMenu
-    }
-
-    internal enum Element_ToastActivationType
-    {
-        /// <summary>
-        /// Default value. Your foreground app is launched.
-        /// </summary>
-        Foreground,
-
-        /// <summary>
-        /// Your corresponding background task (assuming you set everything up) is triggered, and you can execute code in the background (like sending the user's quick reply message) without interrupting the user.
-        /// </summary>
-        [EnumString("background")]
-        Background,
-
-        /// <summary>
-        /// Launch a different app using protocol activation.
-        /// </summary>
-        [EnumString("protocol")]
-        Protocol,
-
-        /// <summary>
-        /// System handles the activation.
-        /// </summary>
-        [EnumString("system")]
-        System
-    }
-}

+ 0 - 37
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastActions.cs

@@ -1,37 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("actions")]
-    internal sealed class Element_ToastActions
-    {
-        internal const ToastSystemCommand DEFAULT_SYSTEM_COMMAND = ToastSystemCommand.None;
-
-        [NotificationXmlAttribute("hint-systemCommands", DEFAULT_SYSTEM_COMMAND)]
-        public ToastSystemCommand SystemCommands { get; set; } = ToastSystemCommand.None;
-
-        public IList<IElement_ToastActionsChild> Children { get; private set; } = new List<IElement_ToastActionsChild>();
-    }
-
-    internal interface IElement_ToastActionsChild
-    {
-    }
-
-    internal enum ToastSystemCommand
-    {
-        None,
-        SnoozeAndDismiss
-    }
-}

+ 0 - 38
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastAudio.cs

@@ -1,38 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("audio")]
-    internal sealed class Element_ToastAudio
-    {
-        internal const bool DEFAULT_LOOP = false;
-        internal const bool DEFAULT_SILENT = false;
-
-        /// <summary>
-        /// The media file to play in place of the default sound. This can either be a ms-winsoundevent value, or a custom ms-appx:/// or ms-appdata:/// file, or null for the default sound.
-        /// </summary>
-        [NotificationXmlAttribute("src")]
-        public Uri Src { get; set; }
-
-        [NotificationXmlAttribute("loop", DEFAULT_LOOP)]
-        public bool Loop { get; set; } = DEFAULT_LOOP;
-
-        /// <summary>
-        /// True to mute the sound; false to allow the Toast notification sound to play.
-        /// </summary>
-        [NotificationXmlAttribute("silent", DEFAULT_SILENT)]
-        public bool Silent { get; set; } = DEFAULT_SILENT;
-    }
-}

+ 0 - 72
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastBinding.cs

@@ -1,72 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("binding")]
-    internal sealed class Element_ToastBinding
-    {
-        public Element_ToastBinding(ToastTemplateType template)
-        {
-            Template = template;
-        }
-
-        [NotificationXmlAttribute("template")]
-        public ToastTemplateType Template { get; private set; }
-
-        /// <summary>
-        /// Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language; for instance, a value of
-        ///
-        /// "www.website.com/images/hello.png"
-        ///
-        /// included in the notification becomes
-        ///
-        /// "www.website.com/images/hello.png?ms-scale=100&amp;ms-contrast=standard&amp;ms-lang=en-us"
-        /// </summary>
-        [NotificationXmlAttribute("addImageQuery")]
-        public bool? AddImageQuery { get; set; }
-
-        /// <summary>
-        /// A default base URI that is combined with relative URIs in image source attributes.
-        /// </summary>
-        [NotificationXmlAttribute("baseUri")]
-        public Uri BaseUri { get; set; }
-
-        /// <summary>
-        /// The target locale of the XML payload, specified as a BCP-47 language tags such as "en-US" or "fr-FR". The locale specified here overrides that in visual, but can be overriden by that in text. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string. See Remarks for when this value isn't specified.
-        /// </summary>
-        [NotificationXmlAttribute("lang")]
-        public string Language { get; set; }
-
-        public IList<IElement_ToastBindingChild> Children { get; private set; } = new List<IElement_ToastBindingChild>();
-    }
-
-    internal interface IElement_ToastBindingChild
-    {
-    }
-
-    internal enum ToastTemplateType
-    {
-        ToastGeneric,
-        ToastImageAndText01,
-        ToastImageAndText02,
-        ToastImageAndText03,
-        ToastImageAndText04,
-        ToastText01,
-        ToastText02,
-        ToastText03,
-        ToastText04
-    }
-}

+ 0 - 52
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastHeader.cs

@@ -1,52 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("header")]
-    internal sealed class Element_ToastHeader : IElement_ToastActivatable
-    {
-        [NotificationXmlAttribute("id")]
-        public string Id { get; set; }
-
-        [NotificationXmlAttribute("title")]
-        public string Title { get; set; }
-
-        [NotificationXmlAttribute("arguments")]
-        public string Arguments { get; set; }
-
-        [NotificationXmlAttribute("activationType", Element_ToastActivationType.Foreground)]
-        public Element_ToastActivationType ActivationType { get; set; } = Element_ToastActivationType.Foreground;
-
-        [NotificationXmlAttribute("protocolActivationTargetApplicationPfn")]
-        public string ProtocolActivationTargetApplicationPfn { get; set; }
-
-        [NotificationXmlAttribute("afterActivationBehavior", ToastAfterActivationBehavior.Default)]
-        public ToastAfterActivationBehavior AfterActivationBehavior
-        {
-            get
-            {
-                return ToastAfterActivationBehavior.Default;
-            }
-
-            set
-            {
-                if (value != ToastAfterActivationBehavior.Default)
-                {
-                    throw new InvalidOperationException("AfterActivationBehavior on ToastHeader only supports the Default value.");
-                }
-            }
-        }
-    }
-}

+ 0 - 65
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastImage.cs

@@ -1,65 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("image")]
-    internal sealed class Element_ToastImage : IElement_ToastBindingChild
-    {
-        internal const ToastImagePlacement DEFAULT_PLACEMENT = ToastImagePlacement.Inline;
-        internal const bool DEFAULT_ADD_IMAGE_QUERY = false;
-        internal const ToastImageCrop DEFAULT_CROP = ToastImageCrop.None;
-
-        [NotificationXmlAttribute("src")]
-        public string Src { get; set; }
-
-        [NotificationXmlAttribute("alt")]
-        public string Alt { get; set; }
-
-        [NotificationXmlAttribute("addImageQuery", DEFAULT_ADD_IMAGE_QUERY)]
-        public bool AddImageQuery { get; set; } = DEFAULT_ADD_IMAGE_QUERY;
-
-        [NotificationXmlAttribute("placement", DEFAULT_PLACEMENT)]
-        public ToastImagePlacement Placement { get; set; } = DEFAULT_PLACEMENT;
-
-        [NotificationXmlAttribute("hint-crop", DEFAULT_CROP)]
-        public ToastImageCrop Crop { get; set; } = DEFAULT_CROP;
-    }
-
-    /// <summary>
-    /// Specify the desired cropping of the image.
-    /// </summary>
-    public enum ToastImageCrop
-    {
-        /// <summary>
-        /// Default value. Image is not cropped.
-        /// </summary>
-        None,
-
-        /// <summary>
-        /// Image is cropped to a circle shape.
-        /// </summary>
-        [EnumString("circle")]
-        Circle
-    }
-
-    internal enum ToastImagePlacement
-    {
-        Inline,
-
-        [EnumString("appLogoOverride")]
-        AppLogoOverride,
-
-        [EnumString("hero")]
-        Hero
-    }
-}

+ 0 - 62
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastInput.cs

@@ -1,62 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("input")]
-    internal sealed class Element_ToastInput : IElement_ToastActionsChild
-    {
-        /// <summary>
-        /// The id attribute is required and is for developers to retrieve user inputs once the app is activated (in the foreground or background).
-        /// </summary>
-        [NotificationXmlAttribute("id")]
-        public string Id { get; set; }
-
-        [NotificationXmlAttribute("type")]
-        public ToastInputType Type { get; set; }
-
-        /// <summary>
-        /// The title attribute is optional and is for developers to specify a title for the input for shells to render when there is affordance.
-        /// </summary>
-        [NotificationXmlAttribute("title")]
-        public string Title { get; set; }
-
-        /// <summary>
-        /// The placeholderContent attribute is optional and is the grey-out hint text for text input type. This attribute is ignored when the input type is not �text�.
-        /// </summary>
-        [NotificationXmlAttribute("placeHolderContent")]
-        public string PlaceholderContent { get; set; }
-
-        /// <summary>
-        /// The defaultInput attribute is optional and it allows developer to provide a default input value.
-        /// </summary>
-        [NotificationXmlAttribute("defaultInput")]
-        public string DefaultInput { get; set; }
-
-        public IList<IElement_ToastInputChild> Children { get; private set; } = new List<IElement_ToastInputChild>();
-    }
-
-    internal interface IElement_ToastInputChild
-    {
-    }
-
-    internal enum ToastInputType
-    {
-        [EnumString("text")]
-        Text,
-
-        [EnumString("selection")]
-        Selection
-    }
-}

+ 0 - 30
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastSelection.cs

@@ -1,30 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("selection")]
-    internal sealed class Element_ToastSelection : IElement_ToastInputChild
-    {
-        /// <summary>
-        /// The id attribute is required and it is for apps to retrieve back the user selected input after the app is activated.
-        /// </summary>
-        [NotificationXmlAttribute("id")]
-        public string Id { get; set; }
-
-        /// <summary>
-        /// The text to display for this selection element.
-        /// </summary>
-        [NotificationXmlAttribute("content")]
-        public string Content { get; set; }
-    }
-}

+ 0 - 37
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastText.cs

@@ -1,37 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("text")]
-    internal sealed class Element_ToastText : IElement_ToastBindingChild
-    {
-        internal const ToastTextPlacement DEFAULT_PLACEMENT = ToastTextPlacement.Inline;
-
-        [NotificationXmlContent]
-        public string Text { get; set; }
-
-        [NotificationXmlAttribute("lang")]
-        public string Lang { get; set; }
-
-        [NotificationXmlAttribute("placement", DEFAULT_PLACEMENT)]
-        public ToastTextPlacement Placement { get; set; } = DEFAULT_PLACEMENT;
-    }
-
-    internal enum ToastTextPlacement
-    {
-        Inline,
-
-        [EnumString("attribution")]
-        Attribution
-    }
-}

+ 0 - 37
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/Element_ToastVisual.cs

@@ -1,37 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    [NotificationXmlElement("visual")]
-    internal sealed class Element_ToastVisual
-    {
-        internal const bool DEFAULT_ADD_IMAGE_QUERY = false;
-
-        [NotificationXmlAttribute("addImageQuery")]
-        public bool? AddImageQuery { get; set; }
-
-        [NotificationXmlAttribute("baseUri")]
-        public Uri BaseUri { get; set; }
-
-        [NotificationXmlAttribute("lang")]
-        public string Language { get; set; }
-
-        [NotificationXmlAttribute("version")]
-        public int? Version { get; set; }
-
-        public IList<Element_ToastBinding> Bindings { get; private set; } = new List<Element_ToastBinding>();
-    }
-}

+ 0 - 23
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/Elements/IElement_ToastActivatable.cs

@@ -1,23 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    internal interface IElement_ToastActivatable
-    {
-        Element_ToastActivationType ActivationType { get; set; }
-
-        string ProtocolActivationTargetApplicationPfn { get; set; }
-
-        ToastAfterActivationBehavior AfterActivationBehavior { get; set; }
-    }
-}

+ 0 - 27
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/IToastActions.cs

@@ -1,27 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Actions to display on a Toast notification. One of <see cref="ToastActionsCustom"/> or <see cref="ToastActionsSnoozeAndDismiss"/>.
-    /// </summary>
-    public interface IToastActions
-    {
-        /// <summary>
-        /// New in Anniversary Update: Custom context menu items, providing additional actions when the user right clicks the Toast notification.
-        /// </summary>
-        IList<ToastContextMenuItem> ContextMenuItems { get; }
-    }
-}

+ 0 - 22
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/IToastBindingGenericChild.cs

@@ -1,22 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Elements that can be direct children of <see cref="ToastBindingGeneric"/>, including (<see cref="AdaptiveText"/>, <see cref="AdaptiveImage"/>, and <see cref="AdaptiveGroup"/>).
-    /// </summary>
-    public interface IToastBindingGenericChild
-    {
-        // Blank interface simply for compile-enforcing the child types in the list.
-    }
-}

+ 0 - 21
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/IToastButton.cs

@@ -1,21 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// One of <see cref="ToastButton"/>, <see cref="ToastButtonSnooze"/>, or <see cref="ToastButtonDismiss"/>.
-    /// </summary>
-    public interface IToastButton
-    {
-    }
-}

+ 0 - 21
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/IToastInput.cs

@@ -1,21 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// An input element on a Toast notification. One of <see cref="ToastTextBox"/> or <see cref="ToastSelectionBox"/>.
-    /// </summary>
-    public interface IToastInput
-    {
-    }
-}

+ 0 - 100
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastActionsCustom.cs

@@ -1,100 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Create your own custom actions, using controls like <see cref="ToastButton"/>, <see cref="ToastTextBox"/>, and <see cref="ToastSelectionBox"/>.
-    /// </summary>
-    public sealed class ToastActionsCustom : IToastActions
-    {
-        /// <summary>
-        /// Inputs like <see cref="ToastTextBox"/> and <see cref="ToastSelectionBox"/> can be added to the Toast. Only up to 5 inputs can be added; after that, an exception is thrown.
-        /// </summary>
-        public IList<IToastInput> Inputs { get; private set; } = new LimitedList<IToastInput>(5);
-
-        /// <summary>
-        /// Buttons are displayed after all the inputs (or adjacent to inputs if used as quick reply buttons). Only up to 5 buttons can be added (or fewer if you are also including context menu items). After that, an exception is thrown. You can add <see cref="ToastButton"/>, <see cref="ToastButtonSnooze"/>, or <see cref="ToastButtonDismiss"/>
-        /// </summary>
-        public IList<IToastButton> Buttons { get; private set; } = new LimitedList<IToastButton>(5);
-
-        /// <summary>
-        /// New in Anniversary Update: Custom context menu items, providing additional actions when the user right clicks the Toast notification. You can only have up to 5 buttons and context menu items *combined*. Thus, if you have one context menu item, you can only have four buttons, etc.
-        /// </summary>
-        public IList<ToastContextMenuItem> ContextMenuItems { get; private set; } = new List<ToastContextMenuItem>();
-
-        internal Element_ToastActions ConvertToElement()
-        {
-            if (Buttons.Count + ContextMenuItems.Count > 5)
-            {
-                throw new InvalidOperationException("You have too many buttons/context menu items. You can only have up to 5 total.");
-            }
-
-            var el = new Element_ToastActions();
-
-            foreach (var input in Inputs)
-            {
-                el.Children.Add(ConvertToInputElement(input));
-            }
-
-            foreach (var button in this.Buttons)
-            {
-                el.Children.Add(ConvertToActionElement(button));
-            }
-
-            foreach (var item in ContextMenuItems)
-            {
-                el.Children.Add(item.ConvertToElement());
-            }
-
-            return el;
-        }
-
-        private static Element_ToastAction ConvertToActionElement(IToastButton button)
-        {
-            if (button is ToastButton)
-            {
-                return (button as ToastButton).ConvertToElement();
-            }
-
-            if (button is ToastButtonDismiss)
-            {
-                return (button as ToastButtonDismiss).ConvertToElement();
-            }
-
-            if (button is ToastButtonSnooze)
-            {
-                return (button as ToastButtonSnooze).ConvertToElement();
-            }
-
-            throw new NotImplementedException("Unknown button child: " + button.GetType());
-        }
-
-        private static Element_ToastInput ConvertToInputElement(IToastInput input)
-        {
-            if (input is ToastTextBox)
-            {
-                return (input as ToastTextBox).ConvertToElement();
-            }
-
-            if (input is ToastSelectionBox)
-            {
-                return (input as ToastSelectionBox).ConvertToElement();
-            }
-
-            throw new NotImplementedException("Unknown input child: " + input.GetType());
-        }
-    }
-}

+ 0 - 48
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastActionsSnoozeAndDismiss.cs

@@ -1,48 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Automatically constructs a selection box for snooze intervals, and snooze/dismiss buttons, all automatically localized, and snoozing logic is automatically handled by the system.
-    /// </summary>
-    public sealed class ToastActionsSnoozeAndDismiss : IToastActions
-    {
-        /// <summary>
-        /// New in Anniversary Update: Custom context menu items, providing additional actions when the user right clicks the Toast notification. You can only have up to 5 items.
-        /// </summary>
-        public IList<ToastContextMenuItem> ContextMenuItems { get; private set; } = new List<ToastContextMenuItem>();
-
-        internal Element_ToastActions ConvertToElement()
-        {
-            if (ContextMenuItems.Count > 5)
-            {
-                throw new InvalidOperationException("You have too many context menu items. You can only have up to 5.");
-            }
-
-            var el = new Element_ToastActions()
-            {
-                SystemCommands = ToastSystemCommand.SnoozeAndDismiss
-            };
-
-            foreach (var item in ContextMenuItems)
-            {
-                el.Children.Add(item.ConvertToElement());
-            }
-
-            return el;
-        }
-    }
-}

+ 0 - 44
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastActivationOptions.cs

@@ -1,44 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// New in Creators Update: Additional options relating to activation.
-    /// </summary>
-    public sealed class ToastActivationOptions
-    {
-        /// <summary>
-        /// If you are using <see cref="ToastActivationType.Protocol"/>, you can optionally specify the target PFN, so that regardless of whether multiple apps are registered to handle the same protocol uri, your desired app will always be launched.
-        /// </summary>
-        public string ProtocolActivationTargetApplicationPfn { get; set; }
-
-        /// <summary>
-        /// New in Fall Creators Update: Specifies the behavior that the toast should use when the user invokes this action. Note that this option only works on <see cref="ToastButton"/> and <see cref="ToastContextMenuItem"/>. Desktop-only, supported in builds 16251 or higher.
-        /// </summary>
-        public ToastAfterActivationBehavior AfterActivationBehavior { get; set; } = ToastAfterActivationBehavior.Default;
-
-        internal void PopulateElement(IElement_ToastActivatable el)
-        {
-            // If protocol PFN is specified but protocol activation isn't used, throw exception
-            if (ProtocolActivationTargetApplicationPfn != null && el.ActivationType != Element_ToastActivationType.Protocol)
-            {
-                throw new InvalidOperationException($"You cannot specify {nameof(ProtocolActivationTargetApplicationPfn)} without using ActivationType of Protocol.");
-            }
-
-            el.ProtocolActivationTargetApplicationPfn = ProtocolActivationTargetApplicationPfn;
-            el.AfterActivationBehavior = AfterActivationBehavior;
-        }
-    }
-}

+ 0 - 47
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastAudio.cs

@@ -1,47 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Specify audio to be played when the Toast notification is received.
-    /// </summary>
-    public sealed class ToastAudio
-    {
-        /// <summary>
-        /// The media file to play in place of the default sound.
-        /// </summary>
-        public Uri Src { get; set; }
-
-        /// <summary>
-        /// Set to true if the sound should repeat as long as the Toast is shown; false to play only once (default).
-        /// </summary>
-        public bool Loop { get; set; } = Element_ToastAudio.DEFAULT_LOOP;
-
-        /// <summary>
-        /// True to mute the sound; false to allow the Toast notification sound to play (default).
-        /// </summary>
-        public bool Silent { get; set; } = Element_ToastAudio.DEFAULT_SILENT;
-
-        internal Element_ToastAudio ConvertToElement()
-        {
-            return new Element_ToastAudio()
-            {
-                Src = Src,
-                Loop = Loop,
-                Silent = Silent
-            };
-        }
-    }
-}

+ 0 - 96
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastBindingGeneric.cs

@@ -1,96 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Generic Toast binding, where you provide text, images, and other visual elements for your Toast notification.
-    /// </summary>
-    public sealed class ToastBindingGeneric
-    {
-        /// <summary>
-        /// The contents of the body of the Toast, which can include <see cref="AdaptiveText"/>, <see cref="AdaptiveImage"/>, and <see cref="AdaptiveGroup"/> (added in Anniversary Update). Also, <see cref="AdaptiveText"/> elements must come before any other elements. If an <see cref="AdaptiveText"/> element is placed after any other element, an exception will be thrown when you try to retrieve the Toast XML content. And finally, certain <see cref="AdaptiveText"/> properties like HintStyle aren't supported on the root children text elements, and only work inside an <see cref="AdaptiveGroup"/>. If you use <see cref="AdaptiveGroup"/> on devices without the Anniversary Update, the group content will simply be dropped.
-        /// </summary>
-        public IList<IToastBindingGenericChild> Children { get; private set; } = new List<IToastBindingGenericChild>();
-
-        /// <summary>
-        /// An optional override of the logo displayed on the Toast notification.
-        /// </summary>
-        public ToastGenericAppLogo AppLogoOverride { get; set; }
-
-        /// <summary>
-        /// New in Anniversary Update: An optional hero image (a visually impactful image displayed on the Toast notification). On devices without the Anniversary Update, the hero image will simply be ignored.
-        /// </summary>
-        public ToastGenericHeroImage HeroImage { get; set; }
-
-        /// <summary>
-        /// New in Anniversary Update: An optional text element that is displayed as attribution text. On devices without the Anniversary Update, this text will appear as if it's another <see cref="AdaptiveText"/> element at the end of your Children list.
-        /// </summary>
-        public ToastGenericAttributionText Attribution { get; set; }
-
-        /// <summary>
-        /// The target locale of the XML payload, specified as BCP-47 language tags such as "en-US" or "fr-FR". This locale is overridden by any locale specified in binding or text. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string.
-        /// </summary>
-        public string Language { get; set; }
-
-        /// <summary>
-        /// A default base URI that is combined with relative URIs in image source attributes.
-        /// </summary>
-        public Uri BaseUri { get; set; }
-
-        /// <summary>
-        /// Set to "true" to allow Windows to append a query string to the image URI supplied in the Toast notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language.
-        /// </summary>
-        public bool? AddImageQuery { get; set; }
-
-        internal Element_ToastBinding ConvertToElement()
-        {
-            Element_ToastBinding binding = new Element_ToastBinding(ToastTemplateType.ToastGeneric)
-            {
-                BaseUri = BaseUri,
-                AddImageQuery = AddImageQuery,
-                Language = Language
-            };
-
-            // Add children
-            foreach (var child in Children)
-            {
-                var el = (IElement_ToastBindingChild)AdaptiveHelper.ConvertToElement(child);
-                binding.Children.Add(el);
-            }
-
-            // Add attribution
-            if (Attribution != null)
-            {
-                binding.Children.Add(Attribution.ConvertToElement());
-            }
-
-            // If there's hero, add it
-            if (HeroImage != null)
-            {
-                binding.Children.Add(HeroImage.ConvertToElement());
-            }
-
-            // If there's app logo, add it
-            if (AppLogoOverride != null)
-            {
-                binding.Children.Add(AppLogoOverride.ConvertToElement());
-            }
-
-            return binding;
-        }
-    }
-}

+ 0 - 89
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastButton.cs

@@ -1,89 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A button that the user can click on a Toast notification.
-    /// </summary>
-    public sealed class ToastButton : IToastButton
-    {
-        /// <summary>
-        /// Initializes a Toast button with the required properties.
-        /// </summary>
-        /// <param name="content">The text to display on the button.</param>
-        /// <param name="arguments">App-defined string of arguments that the app can later retrieve once it is activated when the user clicks the button.</param>
-        public ToastButton(string content, string arguments)
-        {
-            if (content == null)
-            {
-                throw new ArgumentNullException(nameof(content));
-            }
-
-            if (arguments == null)
-            {
-                throw new ArgumentNullException(nameof(arguments));
-            }
-
-            Content = content;
-            Arguments = arguments;
-        }
-
-        /// <summary>
-        /// Required. The text to display on the button.
-        /// </summary>
-        public string Content { get; private set; }
-
-        /// <summary>
-        /// Required. App-defined string of arguments that the app can later retrieve once it is activated when the user clicks the button.
-        /// </summary>
-        public string Arguments { get; private set; }
-
-        /// <summary>
-        /// Controls what type of activation this button will use when clicked. Defaults to Foreground.
-        /// </summary>
-        public ToastActivationType ActivationType { get; set; } = ToastActivationType.Foreground;
-
-        /// <summary>
-        /// New in Creators Update: Additional options relating to activation of the toast button.
-        /// </summary>
-        public ToastActivationOptions ActivationOptions { get; set; }
-
-        /// <summary>
-        /// An optional image icon for the button to display (required for buttons adjacent to inputs like quick reply).
-        /// </summary>
-        public string ImageUri { get; set; }
-
-        /// <summary>
-        /// Specify the ID of an existing <see cref="ToastTextBox"/> in order to have this button display to the right of the input, achieving a quick reply scenario.
-        /// </summary>
-        public string TextBoxId { get; set; }
-
-        internal Element_ToastAction ConvertToElement()
-        {
-            var el = new Element_ToastAction()
-            {
-                Content = Content,
-                Arguments = Arguments,
-                ActivationType = Element_Toast.ConvertActivationType(ActivationType),
-                ImageUri = ImageUri,
-                InputId = TextBoxId
-            };
-
-            ActivationOptions?.PopulateElement(el);
-
-            return el;
-        }
-    }
-}

+ 0 - 66
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastButtonDismiss.cs

@@ -1,66 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A button that, when clicked, is interpreted as a "dismiss" by the system, and the Toast is dismissed just like if the user swiped the Toast away.
-    /// </summary>
-    public sealed class ToastButtonDismiss : IToastButton
-    {
-        /// <summary>
-        /// Custom text displayed on the button that overrides the default localized "Dismiss" text.
-        /// </summary>
-        public string CustomContent { get; private set; }
-
-        /// <summary>
-        /// An optional image icon for the button to display.
-        /// </summary>
-        public string ImageUri { get; set; }
-
-        /// <summary>
-        /// Initializes a system-handled dismiss button that displays localized "Dismiss" text on the button.
-        /// </summary>
-        public ToastButtonDismiss()
-        {
-        }
-
-        /// <summary>
-        /// Constructs a system-handled dismiss button that displays your text on the button.
-        /// </summary>
-        /// <param name="customContent">The text you want displayed on the button.</param>
-        public ToastButtonDismiss(string customContent)
-        {
-            if (customContent == null)
-            {
-                throw new ArgumentNullException(nameof(customContent));
-            }
-
-            CustomContent = customContent;
-        }
-
-        internal Element_ToastAction ConvertToElement()
-        {
-            return new Element_ToastAction()
-                       {
-                           Content = this.CustomContent == null ? string.Empty : this.CustomContent, // If not using custom content, we need to provide empty string, otherwise Toast doesn't get displayed
-                           Arguments = "dismiss",
-                           ActivationType = Element_ToastActivationType.System,
-                           ImageUri = ImageUri
-
-                           // InputId is useless since dismiss button can't be placed to the right of text box (shell doesn't display it)
-                       };
-        }
-    }
-}

+ 0 - 70
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastButtonSnooze.cs

@@ -1,70 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A system-handled snooze button that automatically handles snoozing of a Toast notification.
-    /// </summary>
-    public sealed class ToastButtonSnooze : IToastButton
-    {
-        /// <summary>
-        /// Custom text displayed on the button that overrides the default localized "Snooze" text.
-        /// </summary>
-        public string CustomContent { get; private set; }
-
-        /// <summary>
-        /// An optional image icon for the button to display.
-        /// </summary>
-        public string ImageUri { get; set; }
-
-        /// <summary>
-        /// Optionally specify the ID of an existing <see cref="ToastSelectionBox"/> in order to allow the user to pick a custom snooze time. The ID's of the <see cref="ToastSelectionBoxItem"/>s inside the selection box must represent the snooze interval in minutes. For example, if the user selects an item that has an ID of "120", then the notification will be snoozed for 2 hours. When the user clicks this button, if you specified a SelectionBoxId, the system will parse the ID of the selected item and snooze by that amount of minutes. If you didn't specify a SelectionBoxId, the system will snooze by the default system snooze time.
-        /// </summary>
-        public string SelectionBoxId { get; set; }
-
-        /// <summary>
-        /// Initializes a system-handled snooze button that displays localized "Snooze" text on the button and automatically handles snoozing.
-        /// </summary>
-        public ToastButtonSnooze()
-        {
-        }
-
-        /// <summary>
-        /// Initializes a system-handled snooze button that displays your text on the button and automatically handles snoozing.
-        /// </summary>
-        /// <param name="customContent">The text you want displayed on the button.</param>
-        public ToastButtonSnooze(string customContent)
-        {
-            if (customContent == null)
-            {
-                throw new ArgumentNullException(nameof(customContent));
-            }
-
-            CustomContent = customContent;
-        }
-
-        internal Element_ToastAction ConvertToElement()
-        {
-            return new Element_ToastAction()
-                       {
-                           Content = CustomContent ?? string.Empty, // If not using custom content, we need to provide empty string, otherwise Toast doesn't get displayed
-                           Arguments = "snooze",
-                           ActivationType = Element_ToastActivationType.System,
-                           InputId = SelectionBoxId,
-                           ImageUri = ImageUri
-                       };
-        }
-    }
-}

+ 0 - 54
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastCommon.cs

@@ -1,54 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Decides the type of activation that will be used when the user interacts with the Toast notification.
-    /// </summary>
-    public enum ToastActivationType
-    {
-        /// <summary>
-        /// Default value. Your foreground app is launched.
-        /// </summary>
-        Foreground,
-
-        /// <summary>
-        /// Your corresponding background task (assuming you set everything up) is triggered, and you can execute code in the background (like sending the user's quick reply message) without interrupting the user.
-        /// </summary>
-        [EnumString("background")]
-        Background,
-
-        /// <summary>
-        /// Launch a different app using protocol activation.
-        /// </summary>
-        [EnumString("protocol")]
-        Protocol
-    }
-
-    /// <summary>
-    /// Specifies the behavior that the toast should use when the user takes action on the toast.
-    /// </summary>
-    public enum ToastAfterActivationBehavior
-    {
-        /// <summary>
-        /// Default behavior. The toast will be dismissed when the user takes action on the toast.
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// After the user clicks a button on your toast, the notification will remain present, in a "pending update" visual state. You should immediately update your toast from a background task so that the user does not see this "pending update" visual state for too long.
-        /// </summary>
-        [EnumString("pendingUpdate")]
-        PendingUpdate
-    }
-}

+ 0 - 170
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastContent.cs

@@ -1,170 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-#if WINDOWS_UWP
-using Windows.Data.Xml.Dom;
-using Windows.UI.Notifications;
-#endif
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Base Toast element, which contains at least a visual element.
-    /// </summary>
-    public sealed class ToastContent : INotificationContent
-    {
-        /// <summary>
-        /// The visual element is required.
-        /// </summary>
-        public ToastVisual Visual { get; set; }
-
-        /// <summary>
-        /// Specify custom audio options.
-        /// </summary>
-        public ToastAudio Audio { get; set; }
-
-        /// <summary>
-        /// Optionally create custom actions with buttons and inputs (using <see cref="ToastActionsCustom"/>) or optionally use the system-default snooze/dismiss controls (with <see cref="ToastActionsSnoozeAndDismiss"/>).
-        /// </summary>
-        public IToastActions Actions { get; set; }
-
-        /// <summary>
-        /// New in Creators Update: Gets or sets an optional header for the toast notification.
-        /// </summary>
-        public ToastHeader Header { get; set; }
-
-        /// <summary>
-        /// Specify the scenario, to make the Toast behave like an alarm, reminder, or more.
-        /// </summary>
-        public ToastScenario Scenario { get; set; }
-
-        /// <summary>
-        /// The amount of time the Toast should display. You typically should use the Scenario attribute instead, which impacts how long a Toast stays on screen.
-        /// </summary>
-        public ToastDuration Duration { get; set; }
-
-        /// <summary>
-        /// A string that is passed to the application when it is activated by the Toast. The format and contents of this string are defined by the app for its own use. When the user taps or clicks the Toast to launch its associated app, the launch string provides the context to the app that allows it to show the user a view relevant to the Toast content, rather than launching in its default way.
-        /// </summary>
-        public string Launch { get; set; }
-
-        /// <summary>
-        /// Specifies what activation type will be used when the user clicks the body of this Toast.
-        /// </summary>
-        public ToastActivationType ActivationType { get; set; }
-
-        /// <summary>
-        /// New in Creators Update: Additional options relating to activation of the toast notification.
-        /// </summary>
-        public ToastActivationOptions ActivationOptions { get; set; }
-
-        /// <summary>
-        /// New in Creators Update: An optional custom time to use for the notification's timestamp, visible within Action Center. If provided, this date/time will be used on the notification instead of the date/time that the notification was received.
-        /// </summary>
-        public DateTimeOffset? DisplayTimestamp { get; set; }
-
-        /// <summary>
-        /// Retrieves the notification XML content as a string, so that it can be sent with a HTTP POST in a push notification.
-        /// </summary>
-        /// <returns>The notification XML content as a string.</returns>
-        public string GetContent()
-        {
-            return ConvertToElement().GetContent();
-        }
-
-#if WINDOWS_UWP
-
-        /// <summary>
-        /// Retrieves the notification XML content as a WinRT XmlDocument, so that it can be used with a local Toast notification's constructor on either <see cref="ToastNotification"/> or <see cref="ScheduledToastNotification"/>.
-        /// </summary>
-        /// <returns>The notification XML content as a WinRT XmlDocument.</returns>
-        public XmlDocument GetXml()
-        {
-            XmlDocument doc = new XmlDocument();
-            doc.LoadXml(GetContent());
-
-            return doc;
-        }
-
-#endif
-
-        internal Element_Toast ConvertToElement()
-        {
-            if (ActivationOptions != null)
-            {
-                if (ActivationOptions.AfterActivationBehavior != ToastAfterActivationBehavior.Default)
-                {
-                    throw new InvalidOperationException("ToastContent does not support a custom AfterActivationBehavior. Please ensure ActivationOptions.AfterActivationBehavior is set to Default.");
-                }
-            }
-
-            DateTimeOffset? strippedDisplayTimestamp = null;
-            if (DisplayTimestamp != null)
-            {
-                // We need to make sure we don't include more than 3 decimal points on seconds
-                // The Millisecond value itself is limited to 3 decimal points, thus by doing the following
-                // we bypass the more granular value that can come from Ticks and ensure we only have 3 decimals at most.
-                var val = DisplayTimestamp.Value;
-                strippedDisplayTimestamp = new DateTimeOffset(val.Year, val.Month, val.Day, val.Hour, val.Minute, val.Second, val.Millisecond, val.Offset);
-            }
-
-            var toast = new Element_Toast()
-            {
-                ActivationType = Element_Toast.ConvertActivationType(ActivationType),
-                Duration = Duration,
-                Launch = Launch,
-                Scenario = Scenario,
-                DisplayTimestamp = strippedDisplayTimestamp
-            };
-
-            ActivationOptions?.PopulateElement(toast);
-
-            if (Visual != null)
-            {
-                toast.Visual = Visual.ConvertToElement();
-            }
-
-            if (Audio != null)
-            {
-                toast.Audio = Audio.ConvertToElement();
-            }
-
-            if (Actions != null)
-            {
-                toast.Actions = ConvertToActionsElement(Actions);
-            }
-
-            if (Header != null)
-            {
-                toast.Header = Header.ConvertToElement();
-            }
-
-            return toast;
-        }
-
-        private static Element_ToastActions ConvertToActionsElement(IToastActions actions)
-        {
-            if (actions is ToastActionsCustom)
-            {
-                return (actions as ToastActionsCustom).ConvertToElement();
-            }
-
-            if (actions is ToastActionsSnoozeAndDismiss)
-            {
-                return (actions as ToastActionsSnoozeAndDismiss).ConvertToElement();
-            }
-
-            throw new NotImplementedException("Unknown actions type: " + actions.GetType());
-        }
-    }
-}

+ 0 - 78
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastContextMenuItem.cs

@@ -1,78 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A Toast context menu item.
-    /// </summary>
-    public sealed class ToastContextMenuItem
-    {
-        /// <summary>
-        /// Initializes a Toast context menu item with the required properties.
-        /// </summary>
-        /// <param name="content">The text to display on the menu item.</param>
-        /// <param name="arguments">App-defined string of arguments that the app can later retrieve once it is activated when the user clicks the menu item.</param>
-        public ToastContextMenuItem(string content, string arguments)
-        {
-            if (content == null)
-            {
-                throw new ArgumentNullException(nameof(content));
-            }
-
-            if (arguments == null)
-            {
-                throw new ArgumentNullException(nameof(arguments));
-            }
-
-            Content = content;
-            Arguments = arguments;
-        }
-
-        /// <summary>
-        /// Required. The text to display on the menu item.
-        /// </summary>
-        public string Content { get; private set; }
-
-        /// <summary>
-        /// Required. App-defined string of arguments that the app can later retrieve once it is activated when the user clicks the menu item.
-        /// </summary>
-        public string Arguments { get; private set; }
-
-        /// <summary>
-        /// Controls what type of activation this menu item will use when clicked. Defaults to Foreground.
-        /// </summary>
-        public ToastActivationType ActivationType { get; set; } = ToastActivationType.Foreground;
-
-        /// <summary>
-        /// New in Creators Update: Additional options relating to activation of the toast context menu item.
-        /// </summary>
-        public ToastActivationOptions ActivationOptions { get; set; }
-
-        internal Element_ToastAction ConvertToElement()
-        {
-            var el = new Element_ToastAction
-            {
-                Content = Content,
-                Arguments = Arguments,
-                ActivationType = Element_Toast.ConvertActivationType(ActivationType),
-                Placement = Element_ToastActionPlacement.ContextMenu
-            };
-
-            ActivationOptions?.PopulateElement(el);
-
-            return el;
-        }
-    }
-}

+ 0 - 80
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastGenericAppLogo.cs

@@ -1,80 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// The logo that is displayed on your Toast notification.
-    /// </summary>
-    public sealed class ToastGenericAppLogo : IBaseImage
-    {
-        /// <summary>
-        /// Initializes a logo that is displayed on your Toast notification.
-        /// </summary>
-        public ToastGenericAppLogo()
-        {
-        }
-
-        private string _source;
-
-        /// <summary>
-        /// The URI of the image. Can be from your application package, application data, or the internet. Internet images must be less than 200 KB in size.
-        /// </summary>
-        public string Source
-        {
-            get { return _source; }
-            set { BaseImageHelper.SetSource(ref _source, value); }
-        }
-
-        /// <summary>
-        /// A description of the image, for users of assistive technologies.
-        /// </summary>
-        public string AlternateText { get; set; }
-
-        /// <summary>
-        /// Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language.
-        /// </summary>
-        public bool? AddImageQuery { get; set; }
-
-        /// <summary>
-        /// Specify how you would like the image to be cropped.
-        /// </summary>
-        public ToastGenericAppLogoCrop HintCrop { get; set; }
-
-        internal Element_AdaptiveImage ConvertToElement()
-        {
-            Element_AdaptiveImage el = BaseImageHelper.CreateBaseElement(this);
-
-            el.Placement = AdaptiveImagePlacement.AppLogoOverride;
-            el.Crop = GetAdaptiveImageCrop();
-
-            return el;
-        }
-
-        private AdaptiveImageCrop GetAdaptiveImageCrop()
-        {
-            switch (HintCrop)
-            {
-                case ToastGenericAppLogoCrop.Circle:
-                    return AdaptiveImageCrop.Circle;
-
-                case ToastGenericAppLogoCrop.None:
-                    return AdaptiveImageCrop.None;
-
-                default:
-                    return AdaptiveImageCrop.Default;
-            }
-        }
-    }
-}

+ 0 - 37
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastGenericAppLogoEnums.cs

@@ -1,37 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Specify the desired cropping of the image.
-    /// </summary>
-    public enum ToastGenericAppLogoCrop
-    {
-        /// <summary>
-        /// Cropping uses the default behavior of the renderer.
-        /// </summary>
-        Default,
-
-        /// <summary>
-        /// Image is not cropped.
-        /// </summary>
-        [EnumString("none")]
-        None,
-
-        /// <summary>
-        /// Image is cropped to a circle shape.
-        /// </summary>
-        [EnumString("circle")]
-        Circle
-    }
-}

+ 0 - 48
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastGenericAttributionText.cs

@@ -1,48 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Defines an attribution text element to be displayed on the Toast notification.
-    /// </summary>
-    public sealed class ToastGenericAttributionText : IBaseText
-    {
-        /// <summary>
-        /// Initializes an attribution text element to be displayed on the Toast notification.
-        /// </summary>
-        public ToastGenericAttributionText()
-        {
-        }
-
-        /// <summary>
-        /// The text to display.
-        /// </summary>
-        public string Text { get; set; }
-
-        /// <summary>
-        /// The target locale of the XML payload, specified as a BCP-47 language tags such as "en-US" or "fr-FR". The locale specified here overrides any other specified locale, such as that in binding or visual. If this value is a literal string, this attribute defaults to the user's UI language. If this value is a string reference, this attribute defaults to the locale chosen by Windows Runtime in resolving the string.
-        /// </summary>
-        public string Language { get; set; }
-
-        internal Element_AdaptiveText ConvertToElement()
-        {
-            var el = BaseTextHelper.CreateBaseElement(this);
-
-            el.Placement = AdaptiveTextPlacement.Attribution;
-
-            return el;
-        }
-    }
-}

+ 0 - 59
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastGenericHeroImage.cs

@@ -1,59 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using Microsoft.Toolkit.Uwp.Notifications.Adaptive.Elements;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A hero image for the Toast notification.
-    /// </summary>
-    public sealed class ToastGenericHeroImage : IBaseImage
-    {
-        /// <summary>
-        /// Initializes a hero image for the Toast notification.
-        /// </summary>
-        public ToastGenericHeroImage()
-        {
-        }
-
-        private string _source;
-
-        /// <summary>
-        /// The URI of the image. Can be from your application package, application data, or the internet. Internet images must be less than 200 KB in size.
-        /// </summary>
-        public string Source
-        {
-            get { return _source; }
-            set { BaseImageHelper.SetSource(ref _source, value); }
-        }
-
-        /// <summary>
-        /// A description of the image, for users of assistive technologies.
-        /// </summary>
-        public string AlternateText { get; set; }
-
-        /// <summary>
-        /// Set to true to allow Windows to append a query string to the image URI supplied in the Tile notification. Use this attribute if your server hosts images and can handle query strings, either by retrieving an image variant based on the query strings or by ignoring the query string and returning the image as specified without the query string. This query string specifies scale, contrast setting, and language.
-        /// </summary>
-        public bool? AddImageQuery { get; set; }
-
-        internal Element_AdaptiveImage ConvertToElement()
-        {
-            Element_AdaptiveImage el = BaseImageHelper.CreateBaseElement(this);
-
-            el.Placement = AdaptiveImagePlacement.Hero;
-
-            return el;
-        }
-    }
-}

+ 0 - 123
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastHeader.cs

@@ -1,123 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// Defines a visual header for the toast notification.
-    /// </summary>
-    public sealed class ToastHeader
-    {
-        /// <summary>
-        /// Constructs a toast header with all the required properties.
-        /// </summary>
-        /// <param name="id">A developer-created identifier that uniquely identifies this header. If two notifications have the same header id, they will be displayed underneath the same header in Action Center.</param>
-        /// <param name="title">A title for the header.</param>
-        /// <param name="arguments">A developer-defined string of arguments that is returned to the app when the user clicks this header.</param>
-        public ToastHeader(string id, string title, string arguments)
-        {
-            Id = id;
-            Title = title;
-            Arguments = arguments;
-        }
-
-        private string _id;
-
-        /// <summary>
-        /// Gets or sets a developer-created identifier that uniquely identifies this header. If two notifications have the same header id, they will be displayed underneath the same header in Action Center. Cannot be null.
-        /// </summary>
-        public string Id
-        {
-            get { return _id; }
-            set { ArgumentValidator.SetProperty(ref _id, value, nameof(Id), ArgumentValidatorOptions.NotNull); }
-        }
-
-        private string _title;
-
-        /// <summary>
-        /// Gets or sets a title for the header. Cannot be null.
-        /// </summary>
-        public string Title
-        {
-            get { return _title; }
-            set { ArgumentValidator.SetProperty(ref _title, value, nameof(Title), ArgumentValidatorOptions.NotNull); }
-        }
-
-        private string _arguments;
-
-        /// <summary>
-        /// Gets or sets a developer-defined string of arguments that is returned to the app when the user clicks this header. Cannot be null.
-        /// </summary>
-        public string Arguments
-        {
-            get { return _arguments; }
-            set { ArgumentValidator.SetProperty(ref _arguments, value, nameof(Arguments), ArgumentValidatorOptions.NotNull); }
-        }
-
-        private ToastActivationType _activationType = ToastActivationType.Foreground;
-
-        /// <summary>
-        /// Gets or sets the type of activation this header will use when clicked. Defaults to Foreground. Note that only Foreground and Protocol are supported.
-        /// </summary>
-        public ToastActivationType ActivationType
-        {
-            get
-            {
-                return _activationType;
-            }
-
-            set
-            {
-                switch (value)
-                {
-                    case ToastActivationType.Foreground:
-                    case ToastActivationType.Protocol:
-                        _activationType = value;
-                        break;
-
-                    default:
-                        throw new ArgumentException($"ActivationType of {value} is not supported on ToastHeader.");
-                }
-            }
-        }
-
-        /// <summary>
-        /// New in Creators Update: Additional options relating to activation of the toast header.
-        /// </summary>
-        public ToastActivationOptions ActivationOptions { get; set; }
-
-        internal Element_ToastHeader ConvertToElement()
-        {
-            if (ActivationOptions != null)
-            {
-                if (ActivationOptions.AfterActivationBehavior != ToastAfterActivationBehavior.Default)
-                {
-                    throw new InvalidOperationException("ToastHeader does not support a custom AfterActivationBehavior. Please ensure ActivationOptions.AfterActivationBehavior is set to Default.");
-                }
-            }
-
-            var el = new Element_ToastHeader()
-            {
-                Id = Id,
-                Title = Title,
-                Arguments = Arguments,
-                ActivationType = Element_Toast.ConvertActivationType(ActivationType)
-            };
-
-            ActivationOptions?.PopulateElement(el);
-
-            return el;
-        }
-    }
-}

+ 0 - 75
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastSelectionBox.cs

@@ -1,75 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-using System.Collections.Generic;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A selection box control, which lets users pick from a dropdown list of options.
-    /// </summary>
-    public sealed class ToastSelectionBox : IToastInput
-    {
-        /// <summary>
-        /// Initializes a new Toast SelectionBox input control with the required elements.
-        /// </summary>
-        /// <param name="id">Developer-provided ID that the developer uses later to retrieve input when the Toast is interacted with.</param>
-        public ToastSelectionBox(string id)
-        {
-            if (id == null)
-            {
-                throw new ArgumentNullException(nameof(id));
-            }
-
-            Id = id;
-        }
-
-        /// <summary>
-        /// The ID property is required, and is used so that developers can retrieve user input once the app is activated.
-        /// </summary>
-        public string Id { get; private set; }
-
-        /// <summary>
-        /// Title text to display above the SelectionBox.
-        /// </summary>
-        public string Title { get; set; }
-
-        /// <summary>
-        /// This controls which item is selected by default, and refers to the Id property of <see cref="ToastSelectionBoxItem"/>. If you do not provide this, the default selection will be empty (user sees nothing).
-        /// </summary>
-        public string DefaultSelectionBoxItemId { get; set; }
-
-        /// <summary>
-        /// The selection items that the user can pick from in this SelectionBox. Only 5 items can be added.
-        /// </summary>
-        public IList<ToastSelectionBoxItem> Items { get; private set; } = new LimitedList<ToastSelectionBoxItem>(5);
-
-        internal Element_ToastInput ConvertToElement()
-        {
-            var input = new Element_ToastInput()
-            {
-                Type = ToastInputType.Selection,
-                Id = Id,
-                DefaultInput = DefaultSelectionBoxItemId,
-                Title = Title
-            };
-
-            foreach (var item in Items)
-            {
-                input.Children.Add(item.ConvertToElement());
-            }
-
-            return input;
-        }
-    }
-}

+ 0 - 62
src/windows/Microsoft.Toolkit.Uwp.Notifications.Shared/Toasts/ToastSelectionBoxItem.cs

@@ -1,62 +0,0 @@
-// ******************************************************************
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
-// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
-// ******************************************************************
-
-using System;
-
-namespace Microsoft.Toolkit.Uwp.Notifications
-{
-    /// <summary>
-    /// A selection box item (an item that the user can select from the drop down list).
-    /// </summary>
-    public sealed class ToastSelectionBoxItem
-    {
-        /// <summary>
-        /// Constructs a new Toast SelectionBoxItem with the required elements.
-        /// </summary>
-        /// <param name="id">Developer-provided ID that the developer uses later to retrieve input when the Toast is interacted with.</param>
-        /// <param name="content">String that is displayed on the selection item. This is what the user sees.</param>
-        public ToastSelectionBoxItem(string id, string content)
-        {
-            if (id == null)
-            {
-                throw new ArgumentNullException(nameof(id));
-            }
-
-            if (content == null)
-            {
-                throw new ArgumentNullException(nameof(content));
-            }
-
-            Id = id;
-            Content = content;
-        }
-
-        /// <summary>
-        /// The ID property is required, and is used so that developers can retrieve user input once the app is activated.
-        /// </summary>
-        public string Id { get; private set; }
-
-        /// <summary>
-        /// The Content property is required, and is a string that is displayed on the selection item.
-        /// </summary>
-        public string Content { get; private set; }
-
-        internal Element_ToastSelection ConvertToElement()
-        {
-            return new Element_ToastSelection()
-            {
-                Id = Id,
-                Content = Content
-            };
-        }
-    }
-}

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini